内置函数是指在Python解释器中直接可以调用的函数,无需额外导入模块(不需要使用import)。python随着版本的迭代,内置函数也越来越多,最新稳定版本3.12.2 ,其内置函数为71个 ,如 `print()`、`len()`、`type()`等都是内置函数。
类型转换函数
- int(), float(), str(), bool(), list(), tuple(), set(), dict(): 用于将一个值转换为指定的类型。
- chr(), ord(): 用于字符和 ASCII 码之间的转换。
chr(i):返回 Unicode 码位为整数 i 的字符的字符串格式。
- ord(c):对表示单个 Unicode 字符的字符串,返回代表它 Unicode 码点的整数。
- bin(), oct(), hex(): 用于整数和二进制、八进制、十六进制之间的转换。
oct(x):将整数转换为带前缀 "0o" 的八进制数字符串。
如:oct(8) 输出:'0o10'
数学运算函数
- abs(): 返回一个数的绝对值。
- pow(), round(): 幂运算和四舍五入。
- sum(), max(), min(): 求和、最大值、最小值。
abs(a) : 求取绝对值。abs(-1) 输出:1
max(list) : 求取list最大值。max([1,2,3])
min(list) : 求取list最小值。min([1,2,3])
sum(list) : 求取list元素的和。 sum([1,2,3]) 输出: 6
sorted(list) : 排序,返回排序后的list。
len(list) : list长度,len([1,2,3])
divmod(a,b): 获取商和余数。 divmod(5,2) 输出: (2,1)
pow(a,b) : 获取乘方数。pow(2,3) 输出:8
round(a,b) : 获取指定位数的小数。a代表浮点数,b代表要保留的位数。round(3.1415926,2) 输出: 3.14
容器操作函数
- len(): 返回一个容器的长度。
- all(), any(): 判断所有元素是否为真、是否有任一元素为真。
- sorted(), reversed(): 对序列进行排序、反转。
- zip(): 将多个可迭代对象组合成一个元组序列。
- range(start, stop, step=1):虽然被称为函数,但 range 实际上是一个不可变的序列类型,生成一个start到stop的数组,左闭右开。 range(1,10) 输出: [1,2,3,4,5,6,7,8,9]
序列操作函数
- enumerate(): 对序列中的元素,同时返回枚举对象,包含索引和值。
mydict = {'浪潮信息': 17.4, '紫光股份': 28.6, '光迅科技': 7.56,'中科曙光':14.55}
list(enumerate(mydict,start=1))
输出:[(1, '浪潮信息'), (2, '紫光股份'), (3, '光迅科技'), (4, '中科曙光')]
- filter(), map(): 对序列进行过滤和映射操作。
filter(function, iterable): 函数接收两个参数:函数和迭代器,并返回一个迭代器。即对于iterable中的元素逐个使用函数function,将结果组成迭代器返回。
numbers = [1,2,3,4,5,6,7,8,9,10]
check_even = lambda x: x%2 == 0 # 判断是否是偶数
for i in filter(check_even,numbers):
print(i) 输出: 2 4 6 8 10
slice(): 切片操作,返回一个切片对象。
对象操作函数
- getattr(), setattr(), hasattr(), delattr(): 获取、设置、检查、删除对象的属性。
getattr(object, name, default):object 中指定名称的属性的值。 name 必须是字符串。 如果该字符串是对象的某一属性的名称,则结果将为该属性的值,和setattr(),delattr(object, name) 相对应。
hash(object):返回该对象的哈希值(如果它有的话)。哈希值是整数。它们在字典查找元素时用来快速比较字典的键
- isinstance(), issubclass(): 检查对象是否是指定类的实例或子类。
isinstance(object, classinfo):如果 object 参数是 classinfo 参数的实例,或者是其 (直接、间接或 虚拟) 子类的实例则返回 True。 如果 object 不是给定类型的对象,则该函数总是返回 False。
issubclass(class, classinfo):如果 class 是 classinfo 的子类(直接、间接或 虚的 ),则返回 True。
迭代器和生成器函数
- iter(), next(): 创建迭代器、获取迭代器的下一个元素。
- range(), enumerate(), zip(): 创建序列迭代器。
range(start, stop[, step]):range 构造器的参数必须为整数,整数序列构造函数。
zip(*iterables, strict=False):在多个迭代器上并行迭代,从每个迭代器返回一个数据项组成元组。
for item in zip([17.4, 28.6, 7.56], ['浪潮信息', '紫光股份', '光迅科技']):
print(item)
输出:(17.4, '浪潮信息') (28.6, '紫光股份') (7.56, '光迅科技')
输入输出函数
- input(): 从用户获取输入。
- print(): 输出到控制台。
其他常用函数
- vars(), locals(), globals(): 获取变量的字典。
vars(object):返回模块、类、实例或任何其它具有 __dict__ 属性的对象的 __dict__ 属性。不带参数时,vars() 的行为类似 locals()。
locals():更新并返回表示当前本地符号表的字典。
globals():返回实现当前模块命名空间的字典。
- callable(), eval(), exec(), compile(): 判断对象是否可调用、执行字符串代码、编译字符串代码。该部分函数和系统或者执行有关,要小心使用,否则会引起安全问题或者系统问题。
callable(object):如果 object 参数是可调用的则返回 True,否则返回 False。
eval(expression, globals=None, locals=None):实参是一个字符串,以及可选的 globals 和 locals。globals 实参必须是一个字典。locals 可以是任何映射对象。
compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1):将 source 编译成代码或 AST 对象。代码对象可以被 exec() 或 eval() 执行。
欢迎点赞、惠存和关注,你的鼓励是我前进的动力。