Python之路【第十四篇】:Python的内置函数
Python中自带了一些内置函数,如下图所示
详细说明可以戳这里
本篇中并不是一一介绍所有的内置函数,有一些内置函数会在以后的学习中慢慢接触到
abs():求绝对值函数
print(abs(-12345))
all():用于判断可迭代对象是否每个参数都为真,都为真返回True,否则返回False
print(all([1,2,3,4,5])) print(all(['',123])) print(all([]))
返回结果分别为:True False True
any():只要可迭代对象任意参数为真,返回True
bool():将参数转换为True或者False,对于数字来说,除了0都为真,None也是False,空字符串、列表、元组等也为False
print(bool('')) print(bool([])) print(bool(())) print(bool('1')) print(bool(['',])) print(bool(('',)))
分别输出False,False,False,True,True,True
ascii(对象):只要执行,就会去对象的类中找__repr__这个函数,获取其返回值,很少用这个函数,如:
def f(): def __repr__(self): return 'hello' obj = f() r = ascii(obj) print(r)
bin()二进制,将十进制转换为二进制,如:10--->0b1010
oct()八进制,将十进制转化为八进制,如:10--->0o12
int()十进制,将二进制,八进制或者十六进制转化为十进制,如:int(‘0b1010’,2)--->10或者这样写:int('1010',2)
hex()十六进制,将十进制转化为十六进制,如:10--->0xa
bytes():将字符串转化为相应的字节,返回一个可迭代的字节的集合,如:bytes('hello',encoding='utf-8'),将hello转化为对应的utf-8编码集合
bytearray():字节数组
chr(数字):接受一个数字,返回其对应的ascii字符,如print(chr(97))--->a
ord(字符):接受一个字符,返回其对应的ascii码值,如print(ord('a'))--->97
#随机验证码的小程序 import random temp = '' for i in range(6): num = random.randrange(0,4) if num == 3 or num == 1: rad2 = random.randrange(0,10) temp = temp + str(rad2) else: rad1 = random.randrange(65,91) c1 = chr(rad1) temp = temp + c1 print(temp)
callable()判断一个对象是否可执行,一般后面有括号就是可执行的,否则就是不可执行的,可执行返回True
compile()接受一个字符串,把字符串编译成python可执行的代码,我们一般用不到,但是要知道,写完python文件,执行的时候,作为一个文件读进内存,是一个字符串,然后通过compile()编译成代码
complex()复数,一般用不到
dir()查看一个对象或类所提供的功能,详细的要用help()
divmod()特有用,返回商和余数的一个元组
eval()与exec(),通过eval()可以执行一个字符串形式的表达式,有返回值的,如eval('1+2'),eval('a+7',{'a':8})
exec()无返回值,把字符串当python代码执行exec('for i in range(10):print(i)')
filter(函数,可迭代对象),循环可迭代的对象,获取每一个参数,函数(参数),返回一个列表,如果函数返回true,就添加到返回值列表中,如:
def f1(x): if x > 22: return True else: return False ret = filter(f1, [11, 22, 33, 44]) for i in ret: print(i)
输出结果为[33,44],写成lambda表达式形式:
ret = filter(lambda x:x > 22, [11, 22, 33, 44]) for i in ret: print(i)
返回的ret像range()一样,只有在循环迭代的时候才会输出,直接输出会输出一个filter对象
map(函数,可迭代对象),如:
def f1(x): return x+100 ret = map(f1,[1,2,3,4,5]) print(ret) for i in ret: print(i)
lambda写法:
ret = map(lambda x:x+100,[1,2,3,4,5]) print(ret) for i in ret: print(i)
format():字符串格式化,暂不详述,会单独学习
frozenset():将set冻结,使其不能添加元素
globals():获取当前代码所有的全局变量
locals():获取当前代码所有的局部变量
hash():计算哈希值,在python中,哈希值一般用在字典key的保存上,做一个key的优化,因为有时候key会比较长,为了节省内存,同时又易于找到,就会计算一个哈希值
iter():迭代器,也会产生一个可迭代的对象,通过执行next,一个个取值:
obj = iter([1,2,3,4,5]) print(obj) r1 = next(obj) print(r1) r2 = next(obj) print(r2) r3 = next(obj) print(r3)
分别取到了1,2,3
max():最大值
min():最小值
open()打开文件
pow()
round()四舍五入
sorted()排序
sum()求和
zip()
__import__():导入模块,比如;import random random.randrange 可以改成这样:r = __import__(random) r.randrange()
sorted():排序,默认从小到大排序,使用sorted排序数据需要是同一种类型,比如全是数字,全是字符串
三样东西有助于缓解生命的疲劳:希望、睡眠和微笑。---康德