python解释器内置了许多函数和类型,列表如下(按字母排序)(省略了几个我没用过或者不常用的)。
--内建函数表--
abs(x)
返回一个数字的绝对值。参数可以是整数或浮点数。如果参数是一个复数,则返回它的模。
all(iterable)
如果iterable的所有元素均为true(或 iterable为空),则返回true。相当于:
def all(iterable):
for element in iterable:
if not element:
return false
return true
any(iterable)
如果iterable中有任何一个元素为true,则返回 true。如果iterable为空,则返回false。相当于:
def any(iterable):
for element in iterable:
if element:
return true
return false
ascii(object)
类似repr(),返回一个包含对象的可打印表示的字符串,但使用\x,\u或\u转义符转义由repr()返回的字符串中的非ascii字符。这会生成一个类似于 python 2 中 repr()返回的字符串。
in [1]: s = 'python \n 中文'
in [2]: ascii(s)
out[2]: 'python \\n \\u4e2d\\u6587'
in [3]: repr(s)
out[3]: 'python \\n 中文'
bin(x)
将整数转换为以“0b”为前缀的二进制字符串。结果是一个有效的 python 表达式。如果 x不是pythonint对象,则必须定义返回整数的__index __()方法。一些例子:
>>> bin(3)'0b11'>>>bin(-10)'-0b1010'
可以使用以下任意方式,控制是否需要前缀“0b”:
>>> format(14, '#b'), format(14, 'b')
('0b1110', '1110')
>>> f'{14:#b}', f'{14:b}'
('0b1110', '1110')
有关更多信息,另请参阅format()。
当x不是int类型时
in [1]: class test:
...: def __init__(self, n):
...: self.n = n
...:
...: def __index__(self):
...: return self.n
...:
in [2]: t = test(10)
in [3]: bin(t)
out[3]: '0b1010'
class bool([x])
返回一个布尔值,即true或false中的一个。x使用标准真值测试方式进行转换。如果x为 false 或省略,则返回 false;否则返回 true。bool类是 int的子类。它不能进一步子类化。它唯一的实例是false和true。
class bytearray([source[, encoding[, errors]]])
返回一个新的字节数组。bytearray类是一个在 0 <= x < 256范围内的可变整数序列。这里还是要推荐下小编的python学习裙:【五 八 八,零 九 零,九 四 二】不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2018最新的python资料和0基础入门教程,欢迎初学和进阶中的小伙伴。在不忙的时间我会给大家解惑
可选的source参数可以用几种不同的方式初始化数组:
[if !supportlists]· [endif]如果它是一个字符串,则还必须给出encoding(以及可选的 errors)参数; 然后 bytearray()使用str.encode()将字符串转换为字节。
[if !supportlists]· [endif]如果它是一个整数,则将其作为数组的长度,并将用空字节进行初始化。
[if !supportlists]· [endif]如果它是符合缓冲区接口的对象,则将使用该对象的只读缓冲区来初始化字节数组。
[if !supportlists]· [endif]如果它是一个iterable,必须是 0 <= x <256范围内的可迭代对象,它们将被用作数组的初始内容。
没有参数,就会创建一个大小为0的数组。
in [11]: bytearray(5)
out[11]: bytearray(b'\x00\x00\x00\x00\x00')
in [12]: bytearray([23, 32, 4, 67, 9, 96, 123])
out[12]: bytearray(b'\x17 \x04c\t`{')
in [13]: bytearray()
out[13]: bytearray(b'')
class bytes([source[, encoding[, errors]]])
返回一个新的“bytes”对象,它是一个在 0 从字符串转换时,该字符串不得在 +或-运算符周围包含空格。例如,complex('1+2j')很好,但complex('1 + 2j')会引发valueerror。
delattr(object, name)
参数是一个对象和一个字符串。该字符串必须是对象属性之一的名称。该函数删除指定的属性(只要该对象允许)。例如,delattr(x, 'foobar')等价于del x.foobar。
dict
class dict(**kwarg)class dict(mapping, **kwarg)class dict(iterable, **kwarg)
创建一个新的字典
in [38]: dict(name='jack',age=18)
out[38]: {'name': 'jack', 'age': 18}
in [39]: dict({'name': 'jack'}, age=18)
out[39]: {'name': 'jack', 'age': 18}
in [40]: dict([('name', 'jack'),('age', 18)])
out[40]: {'name': 'jack', 'age': 18}
dir([object])
尝试返回object的有效属性列表。如果没有参数,则返回当前本地作用域中的名称列表。
如果对象具有名为__dir__()的方法,则将调用此方法,并且必须返回属性列表。这允许实现自定义__getattr__()或__getattribute__()函数的对象自定义dir()报告其属性。
默认的dir()机制对不同类型的对象有不同的表现,因为它试图产生最相关的信息,而不是完整的信息:
[if !supportlists]· [endif]如果对象是模块对象,则列表包含模块属性的名称。
[if !supportlists]· [endif]如果对象是一个类型或类对象,则该列表包含其属性的名称,并递归地显示其基础的属性。
[if !supportlists]· [endif]否则,该列表包含对象的属性名称,其类属性的名称以及其类的基类的属性的递归。
结果列表按字母顺序排序。例如:
>>> import struct>>> dir() # show the names in the module namespace
['__builtins__', '__name__', 'struct']>>> dir(struct) # show the names in the struct module
['struct', '__all__', '__builtins__', '__cached__', '__doc__', '__file__',
'__initializing__', '__loader__', '__name__', '__package__',
'_clearcache', 'calcsize', 'error', 'pack', 'pack_into',
'unpack', 'unpack_from']>>> class shape:... def __dir__(self):... return ['area', 'perimeter', 'location']>>> s = shape()>>>dir(s)
['area', 'location', 'perimeter']
pmod(a, b)
以两个(非复数)数字作为参数,并在使用整数除法时返回由它们的商和余数组成的一对数字。使用混合操作数类型时,适用二元算术运算符的规则。对于整数,结果与(a // b, a % b)相同。对于浮点数,结果是(q, a % b),其中q通常是 math.floor(a / b),但可能小于1。在任何情况下, q * b + a % b都非常接近a,如果 a % b不为零,则它具有与b相同的符号,并且 0 > seasons = ['spring', 'summer', 'fall', 'winter']>>>list(enumerate(seasons))
[(0, 'spring'), (1, 'summer'), (2, 'fall'), (3, 'winter')]>>> list(enumerate(seasons, start=1))
[(1, 'spring'), (2, 'summer'), (3, 'fall'), (4, 'winter')]
相当于:
def enumerate(sequence, start=0):
n = start
for elem in sequence:
yield n, elem
n += 1
filter(function, iterable)
用那些function返回 true 的 iterable 元素构造一个迭代器。iterable 可以是序列,支持迭代的容器或迭代器。如果 function 为 none,则假定标识函数为false,即为 false 的所有元素都被删除。
!>请注意,如果 function 不是 none,filter(function, iterable)等价于生成器表达式(item for item in iterable if function(item))。如果function是 none,等价于生成器表达式(item for item in iterable if item)。
in [8]: list(filter(none, [false, true, 0, 'test']))
out[8]: [true, 'test']
class float([x])
返回一个由数字或字符串x构造的浮点数。
在删除前后空白字符后,输入必须符合以下语法:
sign ::= + | -
infinity ::= infinity | inf
nan ::= nan
numeric_value ::= floatnumber | infinity | nan
numeric_string ::= [sign] numeric_value
对于一般的python对象 x,float(x)委托给x .__float__()。
如果没有给出参数,则返回0.0。
例子:
>>> float('+1.23')1.23>>> float(' -12345\n')-12345.0>>> float('1e-003')0.001>>> float('+1e6')1000000.0>>>float('-infinity')
-inf
format(value[, format_spec])
将值转换为“格式化” 表示,由 format_spec 控制。 format_spec 的解释将取决于 value 参数的类型,不过,大多数内置类型都使用标准格式化语法:格式化规范迷你语言。
默认format_spec是一个空字符串,通常与调用 str(value) 的效果相同。
对format(value, format_spec)的调用被转换为type(value).__format__(value, format_spec),它在搜索value的 __format__()方法时绕过实例字典。如果方法搜索到达object并且 format_spec 非空,或者 format_spec 或返回值不是字符串,则会引发 typeerror 异常。
在version 3.4中:如果 format_spec 不是空字符串,则 object().__format__(format_spec)会引发typeerror。
class frozenset([iterable])
返回一个新的frozenset对象,可选地使用来自 iterable 的元素。 frozenset是一个内置的类。
frozenset是不可变的,存在哈希值,它可以作为字典的key,也可以作为其它集合的元素。一旦创建便不能更改,没有 add,remove 方法。
getattr(object, name[, default])
返回object的指定属性的值。name 必须是字符串。如果字符串是 object 属性之一的名称,则结果是该属性的值。例如,getattr(x, 'foobar')等同于x.foobar。如果指定的属性不存在,则返回默认值(如果提供),否则引发attributeerror。
globals()
返回表示当前全局符号表的字典。它总是当前模块的字典(在函数或方法内部,它是定义它的模块,而不是从中调用它的模块)。
hasattr(object, name)
参数是一个对象和一个字符串。如果字符串是object属性之一的名称,则结果为 true,否则为false。(这是通过调用getattr(object, name)并查看它是否引发attributeerror实现的。)
hash(object)
返回对象的散列值(如果有)。哈希值是整数。它们用于在字典查找期间快速比较字典键。比较相等的数值具有相同的散列值(即使它们具有不同的类型,就像1和 1.0 一样)。
!>对于具有自定义 __hash__()方法的对象,请注意,hash()会根据主机的位宽截断返回值。
in [1]: class a:
...: def __hash__(self):
...: return 111111111111111111111111111111111111111
...:
in [2]: a = a()
in [3]: hash(a)
out[3]: 1552656422630569496
in [4]: class a:
...: def __hash__(self):
...: return 11111111111
...:
...:
in [5]: a = a()
in [6]: hash(a)
out[6]: 11111111111
help([object])
调用内置的帮助系统。(此功能用于交互式使用。)如果未提供参数,则交互式帮助系统将在解释器控制台上启动。如果参数是一个字符串,那么该字符串将被查找为模块,函数,类,方法,关键字或文档主题的名称,并在控制台上打印帮助页面。如果参数是任何其他类型的对象,则会生成对象上的帮助页面。
hex(x)
将整数转换为以“0x”为前缀的小写十六进制字符串。如果 x 不是 python int 对象,则必须定义返回整数的 __index __()方法�...