Python内置函数分类汇总
mazinga 人气:1Python解释器内置了很多函数,这些内置函数使用方便,无需导入,直接调用。可以在交互模式下输入dir(__builtins__)
,输出的列表中包含了所有的内置函数;
1、可迭代对象、序列操作相关
all(iterable) :如果 iterable 的所有元素为真,返回 True
。例如,all(["a", "b"])
返回True
,all(["a", ""])
返回False
;
any(iterable) :如果 iterable 的任一元素为真,返回True
。例如,any(["a", ""])
返回True
,any(["", ""])
返回False
;
enumerate(iterable, start=0) :返回一个枚举对象。例如,list(enumerate(['a', 'b', 'c'], start=1))
返回[(1, 'a'), (2, 'b'), (3, 'c')]
;
len(s) :返回对象的长度(元素的个数)。例如,len("abc")
返回3
,len([1, 2, 3])
返回3
;
sum(iterable, /, start=0) :从 start 开始自左向右对 iterable 的项求和并返回总计值。 iterable 的项通常为数字,而 start 值则不允许为字符串。例如,sum([1, 2, 3])
返回6
;
sorted(iterable, *, key=None, reverse=False) :根据 iterable 中的项返回一个新的已排序列表。有两个可选的关键字参数,key 指定带有单个参数的函数,reverse 为布尔值,默认False
,设为True
则反转排序。例如:sorted([1,3,2])
返回[1, 2, 3]
;
next(iterator[, default]) :通过调用 iterator 的__next__()
方法获取下一个元素。如果迭代器耗尽,则返回给定的 default,如果没有默认值,则出发 StopIteration
;
iter(object[, sentinel]) :返回一个 iterator
对象;
filter(function, iterable) :用 iterable 中函数 function 返回真的那些元素,构建一个新的迭代器;
map(function, iterable, ...) :返回一个将 function 应用于 iterable 中每一项并输出结果的迭代器;
zip(*iterables) :创建一个聚合了来自每个迭代对象中的元素的迭代器;
reversed(seq) :返回一个反向的 iterator
。seq必须是一个实现 __reversed__()
方法的对象,或者支持支持序列协议(实现了从 0
开始的整数类型参数的__len__()
方法和__getitem__()
方法);
range(stop)、range(start, stop[, step])
slice(stop)、slice(start, stop[, step])
max(iterable, *[, key, default])、max(arg1, arg2, *args[, key]) :返回可迭代对象中最大的元素,或者两个及以上实参中最大的;
min(iterable, *[, key, default]、min(arg1, arg2, *args[, key])) :返回可迭代对象中最小的元素,或者两个及以上实参中最小的;
2、数据类型相关
str(object='') :返回一个字符串,有序、不可变;
repr(object) :返回包含一个对象的可打印表示形式的字符串;
list([iterable]) :返回一个列表,有序、可变;
tuple([iterable]) :返回一个元组,有序、不可变;
dict(**kwargs)、dict(mapping, **kwargs)、dict(iterable, **kwargs) :返回一个新的字典,可变、无序、不重复;
set([iterable]) :返回一个新的 set 对象,可变、无序、不重复;
frozenset([iterable]) :返回一个 frozenset 对象,不可变、无序、不重复;
bool([x]) :返回一个布尔值,True
或False
;
3、编码、字符相关
ascii(object) :就像函数repr()
,返回一个对象可打印的字符串,但是repr()
返回的字符串中非 ASCII 编码的字符,会使用\x
、\u
和\U
来转义。
chr(i) :返回 Unicode 码位为整数 i 的字符的字符串形式。例如,chr(97)
返回字符串 "a"
。这是ord(c)
的逆函数;
ord(c) :c 为单个 Unicode 字符的字符串,返回代表它 Unicode 码点的整数,例如,ord("a")
返回整数97
。这是chr(i)
的逆函数;
4、数学、进制相关
abs(x) :返回一个绝对值,参数类型:整数、浮点数、复数(返回其模)。如果 x 定义了 __abs__()
,则abs(x)
返回 x.__abs__()
;
pow(base, exp[, mod]) :返回 base 的 exp 次幂;如果 mod 存在,则返回 base 的 exp 次幂对 mod 取余(比pow(base, exp) %mod
更高效);
complex([real[,imag]]):返回值为 real + image*1j 的复数,或将字符串或数字转换为复数;
divmod(a, b) :将两个(非复数)数字作为参数,执行整数除法是返回一对商和余数;
float(x) :返回从数字或字符串 x 生成的浮点数;对于一个普通 Python 对象 x ,float(x)
会调用x.__float__()
,如果__float__()
未定义,则调用__index_()
;
round(number[, ndigits]) :返回 number 舍入到小数点后 ndigits 位精度的值。如果 ndigits被省略或为None
,则返回最接近输入值的整数;
int([x])、int(x, base=10) :返回一个基于数字或者字符串 x 构造的整数对象,未给参数时返回0
;如果base不为10,x 必须是字符串。例如,int('12', 16)
,返回18
,即16进制‘12’转换成十进制为18;
bytes([source[, encoding[, errors]]]) :返回一个新的“bytes”对象,是不可变序列,包含范围为 0 <= x <= 256
的整数。它有其中不改变序列的方法和相同的索引、切片操作。source 可以为整数、字符串(需指定encoding)、可迭代对象(元素必须为[0, 255]
中的整数);
bytearray([source[, encoding[, errors]]]) :返回一个新的 bytes 数组。是一个可变对象,包含范围为 0 <= x <= 256
的整数。它有可变序列大部分常见的方法。source 可以为整数、字符串(需指定encoding)、可迭代对象(元素必须为[0, 255]
中的整数);
bin(x) :将整数转变为前缀是“0b”的二进制字符串。如果 x 不是 Python 的 int 对象,它需要定义__index__()
方法返回一个整数;
oct(x) :将整数转变为前缀是“0o”的八进制字符串。如果 x 不是 Python 的 int 对象,它需要定义__index__()
方法返回一个整数;
hex(x) :将整数转变为前缀是“0x”的十六进制字符串。如果 x 不是 Python 的 int 对象,它需要定义__index__()
方法返回一个整数;
5、类、实例、自省相关
staticmethod() :装饰器,将一个方法封装成静态方法;
classmethod() :装饰器,将一个方法封装成类方法;
property(fget=None, fest=None, fdel=None, doc=None) :返回 property 属性;
hasattr(object, name) :实参是一个对象和一个字符串。如果字符串是对象的属性之一的名称,返回True
;
getattr(object, name[, default]) :返回对象的 name 属性的值。如果对象没有该属性,则返回提供的 default 值;如果没有提供 default 值,会触发 AttributeError
;
setattr(object, name, value) :实参是一个对象,一个字符串和一个任意值。字符串指定一个现有属性或者新增属性。如果对象允许,函数会将值赋给该属性;
delattr(object, name) :实参是一个对象和一个字符串。该字符串必须为对象的某个属性名称。如果对象允许,该函数将删除指定的属性;
isinstance(object, classinfo) :如果参数 object 是参数 classinfo 的实例或者是其 (直接、间接或虚拟) 子类则返回 True
;
issubclass(class, classinfo) :如果 class 是 classinfo 的 (直接、间接或虚拟) 子类则返回 True
;
globals() :返回当前全局符号表的字典;
locals() :更新并返回当前本地符号表的字典;
callable(object) :如果参数 object 是可调用对象(实例所属的类实现了__call__()
方法),就返回True
;
object() :返回一个没有特征的新对象。object 是所有类的基类。它具有所有 Python 类实例的通用方法。这个函数不接受任何实参;
super([type[, object-or-type]]) :用于调用父类(超类)的方法。super(Class, self).xxx
或super().xxx
;
dir([object]) :如果没有实参,则返回当前本地作用域中的名称列表;如果有实参,它会尝试返回该对象的有效属性列表。例如,dir(__builtins__)
返回 Python 的内建对象(包含内置函数、内置异常等);
id(object) :返回对象的“标识值”(内存地址)。该值是一个整数,在此对象的生命周期中保证是唯一且恒定的。两个生命期不重叠的对象可能具有相同的id()
值;
help([object]) :启动内置的帮助系统(此函数主要在交互式中使用)。如果没有实参,解释器控制台里会启动交互式帮助系统;
type(object)、type(name, bases, dict) :返回对象的类型。返回值为一个 type 对象,通常与object.__class__
所返回的对象相同;返回一个新的 type 对象,本质上是class
语句的一种动态形式。name 字符串即类名,并且会成为__name__
属性;bases 元组列出基类并且会成为 __bases__
属性;dict 字典包含类主体定义的命名空间,并且会被复制到一个标准字典成为__dict__
属性;
vars([object]) :返回模块、类、实例或任何其它具有__dict__
属性的对象的__dict__
属性;
6、打印、编译、执行及其它
input([prompt]) :如果存在 prompt 实参,则将其写入标准输出,末尾不带换行符。接下来,该函数从输入中读取一行,将其转换为字符串(除了末尾的换行符)并返回;
format(value[, format_spec]) :将 value 转换为 format_spec 控制的“格式化”表示;
print(*object, sep=' ', end='\n', file=sys.stdout, flush=False) :将 object 打印到file指定的文本流,以 sep 分隔并在末尾加上 end 。sep,end,file 和 flush 如果存在,它们必须以关键字参数的形式给出;
compile(source, filename, mode, flags=0, don't_inherit=Flase, optimize=-1) :将 source 编译成代码或 AST 对象;
eval(expression[, globals[, locals]]) :实参是一个字符串,以及可选的 globals 和 locals 。expression 参数会作为一个 Python 表达式(从技术上说是一个条件列表)被解析并求值,并使用 globals和 locals 字典作为全局和局部命名空间;
exec(object[, globals[, locals]]) :动态执行 Python 代码。object 必须是字符串或者代码对象;
breakpoint(*args, **kwargs) :调用此函数,进入调试器中;
__import__(name, globals=None, locals=None, formlist=(), level=0) :此函数会由 import
语句发起调用。这是一个日常 Python 编程中不需要用到的高级函数;
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) :打开 file 文件并返回对应的 file object。如果文件不能打开,则触发 OSError
;
hash(object) :返回对象的哈希值(如果它有的话)。哈希值是整数;
memoryview(obj) :返回由给定实参创建的“内存视图”对象;
加载全部内容