Python内置函数(3.11.5)
终于开始碰Python了,应该已经有中文的了吧,不过自己学的话还是自己来一遍吧
来自Built-in Functions — Python 3.11.5 documentation,是3.11.5版的。
顺序暂时是字母,等学多了理解了按照类型分一下吧。
详见全文
A
abs(x) 绝对值
abs(x)
返回x的绝对值,参数可以是整数、浮点数,如果参数是复数,返回其大小(该复数与共轭复数的乘积的正平方根)。 1
2abs(complex(2,4))
4.47213595499958
aiter()
aiter(async_iterable)
3.10版本中新增的
返回异步可迭代对象(Glossary — Python 3.11.5 documentation)的异步迭代器(Glossary — Python 3.11.5 documentation)。
all()
all(iterable)
如果可迭代对象的所有元素都为true(或者可迭代对象为空),则返回True。
等价于 1
2
3
4
5def all(iterable):
for element in iterable:
if not element:
return False
return True
anext()
awaitable anext(async_iterator)
awaitable anext(async_iterator, default)
3.10版本中新增的
等待时,从给定的异步迭代器返回下一项,如果给定且迭代器已用尽,则返回默认值。
这是内置的next()的异步变体,表现类似。
any()
any(iterable)
如果可迭代对象的任何元素为true,则返回True。如果可迭代对象为空,则返回False。
等价于 1
2
3
4
5def any(iterable):
for element in iterable:
if element:
return True
return False
ascii()
ascii(object)
转义非 ASCII 字符
返回对象的可读字符串,利用\x
、\u
或者\U
将非ascii字符替换为转义字符。 1
2ascii('I love 中国')
"'I love \\u4e2d\\u56fd'"
B
bin()
bin(x)
将整数转换为“0b”开头的二进制字符。其结果是一个有效的Python表示。
体现或不体现开头的“0b”可以用以下方法,详见format(): 1
2
3
4
5
6
7
8format(10,'#b')
'0b1010'
format(10,'b')
'1010'
f'{10:#b}'
'0b1010'
f'{10:b}'
'1010'
bool()
class bool(x=False)
3.7版本中改为:x只能是位置参数。
可以返回布尔值(true或者false)。
若x是flase或者被省略,则返回False
,否则返回True
。
布尔类是int的子类,不能进一步子类化,唯一实例是False和True。
breakpoint() 等待补充
breakpoint(_*args_, _**kws_)
3.7版本中新增。
bytearray()
class bytearray(source=b'')
class bytearray(source, encoding)
class bytearray(source, encoding, errors)
返回新的字节数组。字节数组类是0<=x<256范围内的可变整数序列。它具有可变序列类型中所述的大多数可变序列的常用方法,以及字节类型具有的大多数方法。
可选的 source 参数可用于以几种不同的方式初始化数组: - 如果是字符串,则还必须提供编码参数;bytearray()
然后使用str.encode()
将字符串转换为字节。 - 如果它是一个整数,则数组将具有该大小,并将使用空字节进行初始化。 - 如果是符合缓冲区接口的对象,则将使用该对象的只读缓冲区来初始化字节数组。 - 如果它是可迭代对象,则它必须是0<=x<256范围内的整数的可迭代对象,这些整数用作数组的初始内容。
如果没有参数,则会创建一个大小为0的数组。
bytes()
class bytes(source=b'')
class bytes(source, encoding)
class bytes(source, encoding, errors)
返回一个新的“字节”对象,它是0<=x<256范围内的不可变整数序列。字节是字节数组的不可变版本,它具有相同的非可变方法以及相同的索引和切片行为。
因此,构造函数参数被解释为bytearray()。 也可以使用文本创建字节对象。
C
callable
callable(object)
3.2版本中新增:3.0中移去,3.2中新增。
如果对象参数显示为可调用,则返回 True;如果不是,则返回 False。
即使返回 True,调用仍有可能失败,但如果为 False,调用肯定不会成功。
请注意,类是可调用的(调用类会返回一个新实例);如果实例的类具有__call__()方法,则实例是可调用的。
chr()
chr(i)
返回Unicode编码中整数 i 的字符串。
1 | chr(20013) |
是ord()
的逆函数。
参数的有效范围是0到1114111(十六进制的0x10FFFF)。如果 i 超出该范围,则会引发 ValueError。
classmethod() 等待补充
@classmethod
compile() 等待补充
compile(source, filename, mode, flags=0, dont_inherit=False, optimize=- 1)
complex() 等待补充
class complex(string)
D
delattr()
delattr(object, name)
setattr()的相关函数。删除对象(object)的相应属性(name)。
dict()
class dict(_**kwarg_)
class dict(mapping, _**kwarg_)
class dict(iterable, _**kwarg_)
创建新字典。字典对象是字典类。
dir() 等待补充
dir(object)
如果没有参数,则返回当前本地范围内的名称列表。使用参数,尝试返回该对象的有效属性列表。
divmod()
divmod(a, b)
两个非复数值作为参数,使用整数除法时,返回其商和余数。
1 | divmod(10,3) |
对于整数,结果与(a // b, a % b)
相同。
对于浮点数,结果是(q, a % b)
,其中q通常是math.floor(a / b)
,但也可能比它少1。总有q * b + a % b
非常接近 a ,如果a % b
非零,它和 b 同号,且0 <= abs(a % b) < abs(b)
. # E
enumerate() 等待补充
enumerate(iterable, start=0)
返回枚举对象。 iterable 必须是序列、迭代器或者其他支持迭代的对象。
eval() 等待补充
eval(expression, globals=None, locals=None)
参数是字符串以及可选的全局变量和局部变量。全局变量必须是字典,局部变量可以是任何映射对象。
exec() 等待补充
exec(object, globals=None, locals=None, /, _*_, closure=None)
F
filter()
filter(function, iterable)
从函数为真的可迭代元素构造迭代器。 iterable 可以是序列、支持迭代的容器或迭代器。
如果 function 为None
,则假定恒等函数,即删除 iterable 的所有false元素。
注意 filter(function, iterable)
当 function 不是None
时,等价于生成器表达式(item for item in iterable if function(item))
,当 function 是None
时,等价于(item for item in iterable if item)
。 ## float() 等待补充 class float(x=0.0)
format()
format(value, format_spec='')
frozenset()
class frozenset(iterable=set())
G
getattr()
getattr(object, name)
getattr(object, name, default)
globals()
globals()
H
hasattr()
hasattr(object, name)
hash()
hash(object)
help()
help()
help(request)
hex()
hex(x)
I
id()
input()
int()
isinstance()
isinstance(object, classinfo)
3.10更新:
如果 object 是 classinfo 的实例或者子类,则返回 True
,如果 object 不是给定类型的对象,该函数始终返回 False
。
如果 classinfo 是类型对象的集合(tuple),或者多重类型的“联合类型” ,如果 object 是任一个类型的实例,则返回True
。如果 classinfo 不是一个类型或者类型集合(tuple)或者集合(tuple),会引发TypeError
异常。
如果之前检查成功了,那可能不会引起无效类型的TypeError
。 ## issubclass()