python3内置函数
一、与作用域有关
1.locals()
当前作用域的值
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。2.globals()
全局作用域的值
print(locals()) print(globals())
二、与迭代器/生成器有关
1.next()
与双下方法__next__()一样,next(iterator/generator)
def generator(): for i in range(10): yield i g = generator() print(next(g)) # g.__next__()
2.iter()
与__iter__()方法一样,可迭代对象->迭代器
from collections.abc import Iterator li = list(range(10)) li = iter(li) # li.__iter__() ret = isinstance(li, Iterator) print(ret)
3.range()
可以看成有序数字的list
三、其它
1.dir()
含参数,获取当前参数的属性、方法,无参数获取当前作用域的变量、方法等,注意:不包含内置命名空间的变量和方法
2.help()
help(内容),获取帮助文档,和Linux一样
3.callable()
callable(内容),判断是否可调用,返回值True,False
4.import
导入模块
5.open()
打开文件
6.与内存有关
1)hash(数据),查看是否可哈希,可哈希输出值,不可哈希报错
_hash = hash(123) # 123可哈希 print(_hash) _hash = hash([]) # list不可哈希 print(_hash)
2)id()
查看值(变量、函数)的内存地址
7.输入输出
1)input()
用户交互
2)print()
end:是默认参数,end = '\n'
for i in range(4): print(i, end=' ') # 输出结果:0 1 2 3
sep:sep是默认参数,sep = ' '
print(1, 2, 3, 4, 5, sep='') # 去除1,2,3,4,5之间的空格
file:file也是默认参数,file = 'None',终端的实质是文件
f = open(file='f_1', mode='w', encoding='utf-8') print('Hello, World', file=f) # 文件是f f.close()
flush:flush是默认参数,flush = False,值为False时,一起打印;为True时,一个一个打印
# 简单的进度调 import time for i in range(0, 101, 2): time.sleep(0.1) char_num = i//2 ret = "\r%s%%: %s\n" % (i, '*' * char_num)if i == 100 else '\r%s%%: %s' % (i, '*' * char_num) print(ret, end='', file=True)
8.执行字符串-不建议使用
1)eval(),有返回值,用于计算
s = '1+2+3+4' ret = eval(s) print(ret)
2)exec(),无返回值,用于流程控制
s = """ for i in range(5): print(i) """ exec(s)
3)compile()
编译给eval()和exec()使用,几乎不用
四、与数字相关
1.数据类型
1).bool
2).int
3).float
包含:有序小数,无限循环小数
4).complex
复数:实数+虚数(10j),几乎用不到
2.进制转化
1)bin()
十进制->二进制
2)oct()
十进制->八进制,不常用
3)hex()
十进制->十六进制
print(bin(10)) # 以0b开头 print(oct(10)) # 以0o print(hex(10)) # 以0x
3.数学运算
1).abs()
求绝对值
2).divmod(a,b)
div(除) mod(模/余),除余,a//b 和 a%b
a = divmod(10, 3) print(a) # 输出结果:(3,1)
3).round(a,b)
求float的精度,float a,取小数点后b位
a = round(3.14159, 2) print(a) # 输出3.14
4).pow(a,b)
a的b次幂,a**b
a = pow(2, 5) print(a)
power(a, b, c)
a**b%c
5).sum()
sum(iterable, start)
start从几开始,若不写则从0开始,若没有iterable,返回start
a = sum(list(range(5))) print(a) a = sum(list(range(5)), 10) # start 不是关键字参数 print(a)
6).max()
求最大值,可以用iterable或*args
key = None为默认参数,key = func/函数名
print(max(1, 2, 3, 4)) # 4 print(max([1, 2, 3, 4])) # 4 print(max(1, 2, 3, 4, -5)) # 4 print(max(1, 2, 3, 4, -5, key = abs)) # -5
7)min()
求最小值,用法和max()一样
print(min(1, 2, 3, 4)) # 1 print(min([1, 2, 3, 4])) # 1 print(min(1, 2, 3, 4, -5)) # -5 print(min(1, 2, 3, 4, -5, key = abs)) # 1
