内置函数 - 共 68 个
方法表
数据类型(10个)
函数名 | 描述 |
---|---|
int | 整型 |
float | 浮点型 |
complex | 复数 |
str | 字符串 |
bool | 布尔型 |
list | 列表 |
tuple | 元素 |
dict | 字典 |
set | 集合 |
frozenset | 冻结集合 |
进制转换及数学运算(10个)
函数名 | 语法 | 描述 | 结果 |
---|---|---|---|
bin | bin(10) | 十进制整数转为二进制, 0b开头代表二进制 | 0b1010 |
oct | oct(10) | 十进制整数转为八进制, 0o开头代表八进制 | 0o12 |
hex | hex(10) | 十进制整数转为十六进制, 0x开头代表十六进制 | 0xa |
abs | abs(-10) | 计算绝对值 | 10 |
divmod | divmod(10,3) | 商余运算 | (3,1), 商3余1 |
round | round(1.23) round(1.2564, 2) | 四舍五入机制 默认保留整数 第二个参数为精确的的小数位数 | 1 1.27 |
pow | pow(2, 3) pow(2, 3, 3) | arg1arg2 arg1arg2%arg3 | 23 = 8 23 % 2 = 8 % 2 = 2 |
sum | sum((1,2,3)) sum((1,2,3),10) | argv1必须是个可迭代对象 sum = sum(argv1)+argv2 | 6 16 |
min | min(1,-2,3) min((1,-2,3)) min((-1,2),(0,10)) min((1,-2,3),key=abs) | 参数可以为多个数字, 一个 iterable 或多个类型相同的 iterable 多个 iterable 比较时, 比较第一个元素, 返回整个 iterable 参数 key=abs 后, 会先取参数绝对值再比较, 返回绝对值 | -2 -2 (0, 10) 1 |
max | 参考 min |
字符串相关(9个)
函数名 | 语法 | 描述 | 结果 |
---|---|---|---|
format(普通用法) | format(123) | 未指定arg2, 类似str(123) | “123” |
format(arg1为str的用法) | format(‘abc’,’<20’) format(‘abc’,’>20’) format(‘abc’,’^20’) | 长度为20 < 左对齐 > 右对齐 ^ 居中对齐, 类似 str.center(len) | |
format(arg1为int的用法) | format(10,‘b’) format(10,‘o’) format(10,‘x’) format(10,‘X’) format(97,‘c’) | ‘b’ --> 转成二进制 ’o’ --> 转成八进制 ’x’ --> 转成十六进制(小写字母表示) ‘X’ --> 转成十六进制(大写字母表示) ‘c’ --> 转成unicode编码对应字符 | 1010 12 a A a |
bytes | bytes(str,encoding=‘utf-8’) | 将str转换成utf-8编码的bytes类型 | |
bytearray | bytearray() bytearray(int) bytearray(str, encoding=“utf-8”) | 没写参数, 返回长度为 0 的 bytearray int - 返回一个长度为 int 的 bytearray str - 返回内容为对应编码的 byte 类型 | |
ord | |||
chr | |||
ascii | ascii(‘中国’)) | str -> ascii | ‘\u4e2d\u56fd’ |
repr | repr(obj) | 其他数据格式转为 str |
数据结构的操作(8个)
函数名 | 语法 | 描述 | 返回值 |
---|---|---|---|
len | len() | 求长度 | int |
enumerate | enumerate(iterable,arg1) | 为 iterable 添加索引, 从 arg1 开始 默认索引从 0开始 如果是 dict , 索引对应的是 key | iterable |
all | all(iterable) | 若 iterable 中所有元素都是 True, 则返回值为 True | bool |
any | any(iterable) | 若 iterable 中元素有一个是 True, 则返回值为 True | bool |
zip | zip(iterable1, iterable2, …) | a = [1,2], b = [3,4], c = [5,6,7] zip(c,b,a) zip((5,3,1),(6,4,2)) | zip(tuple, tuple, …) |
filter | filter(func,iterable) | 用于筛选 自定义函数处理 iterable 函数返回值为 True 时, 将元素加入新的 iterable 最后将新的 iterable 返回 | |
map | map(func,iteralbe) | 用于加工 将加工后的返回值加入新的 iterable 其他同上 | |
sorted | sorted(iterable,key=None,reverse=False) | key传入一个函数名,通过返回值, 将原 iterable 排序 排序结果默认为升序, reverse 为 True 降序 | iterable |
reversed | reversed(iterable) | 将 iterable 直接反序 | iterable |
作用域相关(2个)
函数名 | 语法 | 返回值 |
---|---|---|
locals | locals() | 当前作用域内所有方法名 |
globals | globals() | 全局作用域所有方法名 |
迭代器生成器相关(3个)
函数名 | 语法 | 返回值 |
---|---|---|
range | range(int) | iterable |
iter | iterable.__iter__() | 迭代器 |
next | iterator.__next__() | 从迭代器中逐次取出 |
其他(12个)
函数名 | 语法 | 描述 |
---|---|---|
eval | eval(“1+2”) | 参数为 str, 直接执行, 并返回结果 |
exec | exec(‘print(1)’) | 参数为 str, 直接执行并输出结果, 没有返回值 |
compile | compile(src,file_name,mod) 例: code=‘1+2’ compile1=compile(code,’’,‘eval’)) eval(compile1) | 编译为 bytes 类型的语句 比直接从字符串执行更加安全 |
print(*args[,sep=’ ‘,end=’\n’,file=None,flush=False)] | sep 间隔符, 默认为空格 end 结束符, 默认为换行符 file 不填则输出到屏幕, 否则填写文件句柄 flush 是否立即刷新缓冲区 | |
hash | hash(arg) | 得到一个数字, 即为 hash 值 同一次执行, 对相同可哈希的变量, 结果永远是相同的 |
id | id(arg) | 查看内存地址 |
open | 文件读写 | 打开文件句柄 |
import | import 模块名 | 导入模块 |
help | help(command) | 返回该命令的用法, 类似linux的man |
dir | dir(argv) | 返回argv的所有方法名 |
callable | callable(command) | 是否可以调用 |
反射相关(4个)
函数名 | 描述 |
---|---|
hasattr | |
getattr | |
setattr | |
delattr |
面向对象相关(9个)
部分方法使用实例
filter
"""
filter 函数的语法为:
new_iterable = filter(funcName, iterable)
将 iterable 中的元素依次通过函数处理, 若返回值为 True, 元素存入 new_iteralbe, False 则不存
lambda 函数的语法示例:
lambda i: i * 2
lambda i: True if i % 2 == 0 else False
"""
# 定义一个函数, 处理参数并返回结果
def func(num):
# 若参数为偶数, 则返回 True
return num * 2
# 通过 map 将处理后的元素合成 new_iterable
r = map(func, range(10))
print(list(r)) # 通常迭代器是循环输出, 也可以强转成 list 类型, 不建议, 这里是示例, 不纠结
# 上边的写法等价于
r = map(lambda i: i * 2, range(10))
print(list(r))
map
"""
filter 函数的语法为:
new_iterable = filter(funcName, iterable)
将 iterable 中的元素依次通过函数处理, 若返回值为 True, 元素存入 new_iteralbe, False 则不存
lambda 函数的语法示例:
lambda i: i * 2
lambda i: True if i % 2 == 0 else False
"""
# 定义一个函数, 如果参数满足条件, 则返回值为 True, 反之为 False
def func(num):
# 若参数为偶数, 则返回 True
if num % 2 ==0:
return True
else:
return False
# 通过 filter 判断筛选出符合条件的元素合成 new_iterable
r = filter(func, range(10))
print(list(r)) # 通常迭代器是循环输出, 也可以强转成 list 类型, 不建议, 这里是示例, 不纠结
# 上边的写法等价于
r = filter(lambda i: True if i % 2 == 0 else False, range(10))
print(list(r))
"""
print(*args[,sep=’ ‘,end=’\n’,file=None,flush=False)]
- sep 间隔符, 默认为空格
- end 结束符, 默认为换行符
- file 不填则输出到屏幕, 否则填写文件句柄, 输出到文件
- flush 是否立即刷新
"""
# 最普通的用法, 位置参数不限
print(1, "2", 3)
# 可以设定分隔符
print(1, "2", 3, sep="-")
# 可以设定末尾的结束符
print(1, "2", 3, end="...\n")
# 可以将结果输出到可写的文件句柄
with open("a.txt", mode="w") as f:
print(1, "2", 3, sep="-", end="...\n", file=f)
# 可以设置立即刷新缓冲区, 写入输出
import time
for i in range(10):
print("**", end="",flush=True)
# 模拟延迟为 0.2 秒
time.sleep(0.2)
zip
"""
将多个 iterable 按索引和参数顺序组成新的 iterable
结果类型为 zip[tuple, tuple, ...]
tuple 的元素为 (arg1[0], arg2[0], arg3[0]), (arg1[1], arg2[1], arg3[1], ...)
zip 组合 dic 类型时不会报错, 但是只会组合 dic 的 key
长度为最小 iterable 的长度
zip 类型不能直接 list() 展开
"""
# 三个 iterable
a = [1, 2]
b = [[1, 2, 3], [2, 3, 4], [3, 4, 5]]
c = {"aa": 1, "bb": 2}
# 使用 zip 拼接
r = zip(a, b, c)
for i in r:
print(i)
# 结果为:
# (1, 'a', [1, 2, 3], 'aa')
# (2, 'b', [2, 3, 4], 'bb')
# 示例: 结合 map 使用, 可将两个 list 合成一个 dict
k = ["a", "b"]
v = [1, 2]
r = map(lambda t: {t[0]:t[1]}, zip(k, v))
for i in r:
print(i)