Python内置函数

2019-04-11 10:08:13来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

#author: Lockegogo

#all()函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False
#元素除了是 0、空、None、False 外都算 True
#all(iterable)  #元组或列表
print(all([0, -3, 5]))

#any()函数用于判断给定的可迭代参数 iterable 中的如果有一个元素为真则为 TRUE
print(any([0, -3, 5]))

#ascii()函数把数据对象变成可打印的字符串的形式
print(ascii([1, 2, '你好']))

#bin()函数十进制转二进制
print(bin(255))

#布尔函数:0就是假,1就是真,空列表空字符串都是假
print(bool(0))

a = bytes('abcde', encoding='utf-8')
print(a.capitalize(), a)  #字符串不能修改,只能覆盖
b = bytearray('abcde', encoding='utf-8') #bytearray()函数表示可修改的二进制字节格式
print(b[0])  #打印a的ascii码:97
b[1] = 100 #b就变为d, 100是d的ascii码
print(b)


#callable()函数用于检查一个对象是否是可调用的
#函数,方法、lambda 函式、 类都是可以调用的
def a():
    pass
print(callable(a))

#chr()函数返回ascii码对应的字符
print(chr(98))

#ord()函数返回字符对应的ascii码
print(ord('b'))

#compile()函数将一个字符串编译为字节代码
code = 'for i in range(10): print(i)'
compile(code, '', 'exec')
print(exec(code))

#dir()函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表
d = {}
print(dir(d))

#divmod()函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a //b, a % b)
print(divmod(5, 2))  #返回(2, 1)

#eval()函数把字符串转换成字典,并返回结果
print(eval('4+4'))

#exec()执行储存在字符串或文件中的Python语句,相比于 eval,exec 可以执行更复杂的 Python 代码
code1 = 'for i in range(10): print(i)'
print(exec(code1))

def sayhi(n):
    print(n)
    for i in range(10):
        print(i)
sayhi(3)

#lambda()用来创建匿名函数,函数体比def简单很多,只能处理三元运算,无法实现很复杂的功能
#lambda [arg1 [,arg2,.....argn]]:expression
calc = lambda n: print(n)
calc(5)

calc1 = lambda n: 3 if n < 4 else n
print('三元运算的结果:', calc1(1))

sum = lambda arg1, arg2: arg1+arg2
print('相加后的值:', sum(100, 2))

#filter()函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表
#filter(function, iterable)
res = filter(lambda n: n > 5, range(10)) #打印大于5的数
for i in res:
    print(i)

#map()会根据提供的函数对指定序列做映射
#第一个参数function以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表
#map(function, iterable, ...)
res1 = map(lambda n: n*n, range(10))  #列表生成式:[i*i for i in range(10)]
res2 = [lambda i: i*i for i in range(10)] #和上一句效果完全一样
for i in res1:
    print('map:', i)



#reduce()函数会对参数序列中元素进行累积
#用传给reduce中的函数function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果
import  functools
res3 = functools.reduce(lambda x, y: x*y, range(1, 10))
print(res3) #阶乘

#frozenset()返回一个冻结的集合,冻结后集合不能再添加或删除任何元素
a = frozenset([1, 2, 4, 5, 1, 6])  #功能上将集合变为元组


#globals()函数会以字典类型返回当前位置的全部全局变量
print(globals())

#哈希算法:折半查找
#hash()用于获取取一个对象(字符串或者数值等)的哈希值
print(hash('Lcokegogo'))

#hex()函数用于将10进制整数转换成16进制,以字符串形式表示
print(hex(255))

#oct()函数用于将10进制整数转换成8进制,以字符串形式表示
print(oct(8))

#locals()函数会以字典类型返回当前位置的全部局部变量
def test():
    local_var = 333
    print(locals())  #打印当前位置的局部变量
test()
print(globals())  #只打印全局的变量,不打印局部的
print(globals().get('local_var'))


#pow()方法返回xy(x的y次方)的值
print(pow(3, 5))

#round()函数保留两位小数
print(round(1.3452))

#slice()函数实现切片对象,主要用在切片操作函数里的参数传递
myslice = slice(5)
arr = range(10)
print(arr[myslice])

#sort()函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数
dict = {6:2, 8:0, 99:11, 4:22}
print(dict)
print(sorted(dict.items())) #按key来排序
print(sorted(dict.items(), key=lambda x:x[1])) #按value来排序

#zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表
a1 = [1,2,3]
b1 = ['a', 'b', 'c']
for i in zip(a1, b1):
    print(i)    #元素个数与最短的列表一致


#import 'decorator'
__import__('decorator')

  


原文链接:https://www.cnblogs.com/lockegogo/p/10593171.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:介绍几款 Python 类型检查工具

下一篇:Python基础——模块与包