python一共为我们提供了68个内置函数。它们就是python提供给你直接可以拿来使用的所有函数。
-
作用域相关:
locals() 返回当前作用域中的名字
globals() 返回全局作用域中的名字
-
迭代器相关:
range() 生成数据
next() 迭代器向下执行一次, 内部实际使用了__next__()⽅法返回迭代器的下一个项⽬
iter() 获取迭代器, 内部实际使用的是__iter__()⽅法来获取迭代器
-
字符串类型代码的执⾏
eval() 执⾏字符串类型的代码. 并返回最终结果
exec() 执行字符串类型的代码
compile() 将字符串类型的代码变异. 代码对象能够通过exec语句来执行或者eval()进⾏行行求值
有返回值的字符串形式的代码用eval(). 没有返回值的字符串形式的代码用exec(). 一般很少用到compile()
-
输入和输出相关:
input() 获取用户输入的内容
print() 打印输出
-
内存相关:
hash() 获取到对象的哈希值(int, str, bool, tuple)
id() 获取到对象的内存地址
-
文件操作相关:
open() 用于打开一个文件, 创建一个文件句柄
-
模块相关:
__import__() 用于动态加载类和函数
-
帮助:
help() 函数用于查看函数或模块用途的详细说明
-
调用相关:
callable() 用于检查一个对象是否是可调用的. 如果返回True, object有可能调用失败, 但如果返回False. 那调用绝对不会成功
-
查看内置属性:
dir() 查看对象的内置属性, 方法. 访问的是对象中的__dir__()⽅法
-
基础数据类型相关:
数字相关:
bool() 将给定的数据转换成bool值. 如果不给值. 返回False
int() 将给定的数据转换成int值. 如果不给值, 返回0
float() 将给定的数据转换成float值. 也就是小数
complex() 创建一个复数. 第一个参数为实部, 第二个参数为虚部. 或者第一个参数直接用字符串来描述复数
-
进制转换:
bin() 将给的参数转换成二进制
otc() 将给的参数转换成八进制
hex() 将给的参数转换成十六进制
-
数学运算:
abs() 返回绝对值
divmode() 返回商和余数
round() 四舍五入
pow(a, b) 求a的b次幂, 如果有三个参数. 则求完次幂后对第三个数取余
sum() 求和
min() 求最⼩值
max() 求最⼤值
-
和数据结构相关:
列表和元组:
list() 将一个可迭代对象转换成列表
tuple() 将一个可迭代对象转换成元组
reversed() 将一个序列翻转, 返回翻转序列的迭代器
slice() 列表的切片
-
字符串相关:
str() 将数据转化成字符串
format() 与具体数据相关, 用于计算各种小数, 精算等
bytes() 把字符串转化成bytes类型
bytearray() 返回一个新字节数组. 这个数字⾥的元素是可变的, 并且每个元素的值得范围是[0,256)
memoryview() 查看bytes在内存中的情况
ord() 输入字符找带字符编码的位置
chr() 输入位置数字找出对应的字符
ascii() 是ascii码中的返回该值 不是就返回u...
repr() 返回一个对象的string形式
-
数据集合:
dict() 创建一个字典
set() 创建一个集合
frozenset() 创建一个冻结的集合. 冻结的集合不能进行添加和删除操作
-
其他相关:
len() 返回一个对象中的元素的个数
sorted() 对可迭代对象进行排序操作
enumerate() 获取集合的枚举对象
all() 可迭代对象中全部是True, 结果才是True
any() 可迭代对象中有一个是True, 结果就是True
zip() 函数用于将可迭代的对象作为参数, 将对象中对应的元素打包成一个个元组, 然后返回由这些元组组成的列表.
如果各个迭代器的元素个数不一致, 则返回列表长度与最短的对象相同.
filter() 过滤 语法:filter(function,iterable)
lst = [1,2,3,4,5,6,7] ll = filter(lambda x: x%2==0, lst) # 筛选所有的偶数 print(list(ll)) lst = [{"id":1, "name":'小米', "age":18}, {"id":2, "name":'小麦', "age":16}, {"id":3, "name":'小明', "age":17}] fl = filter(lambda e: e['age'] > 16, lst) # 筛选年年龄大于16的数据 print(list(fl))
map() 会根据提供的函数对指定序列做映射 语法:map(function,iterable)
m = map(lambda x: x * x, [1, 2, 3, 4, 5]) print(list(m)) # 计算两个列表相同位置的数据的和 lst1 = [1, 2, 3, 4, 5] lst2 = [2, 4, 6, 8, 10] l=map(lambda x, y: x+y, lst1, lst2) print(list(l))
sorted() 排序函数 语法: sorted(Iterable, key=function, reverse=False) reverse: 是否是倒叙. True: 倒叙, False: 正序
key: 排序规则(排序函数), 在sorted内部会将可迭代对象中的每一个元素传递给这个函数的参数. 根据函数运算的结果进行排序
lst = [{"id":1, "name":'小米', "age":18}, {"id":2, "name":'小麦', "age":16}, {"id":3, "name":'小明', "age":17}] # 按照年年龄对学⽣生信息进⾏行行排序 print(sorted(lst, key=lambda e: e['age']))