上一篇文章: Python标准库---二、内置函数(D-E-F)
下一篇文章: Python标准库---四、内置函数(L-M-N-O)
返回对象命名属性的值。name 必须是字符串。若是该字符串是对象的属性之一,则返回该属性的值。例如, getattr(x, 'foobar') 等同于 x.foobar。若是指定的属性不存在,且提供了 default 值,则返回它,不然触发 AttributeError。
返回表示当前全局符号表的字典。这老是当前模块的字典(在函数或方法中,不是调用它的模块,而是定义它的模块)。
该实参是一个对象和一个字符串。若是字符串是对象的属性之一的名称,则返回 True,不然返回 False。(此功能是经过调用 getattr(object, name) 看是否有 AttributeError 异常来实现的。)
返回该对象的哈希值(若是它有的话)。哈希值是整数。它们在字典查找元素时用来快速比较字典的键。相同大小的数字变量有相同的哈希值(即便它们类型不一样,如 1 和 1.0)。注解 若是对象实现了本身的 __hash__() 方法,请注意,hash() 根据机器的字长来截断返回值。另请参阅 __hash__()。数据库
启动内置的帮助系统(此函数主要在交互式中使用)。若是没有实参,解释器控制台里会启动交互式帮助系统。若是实参是一个字符串,则在模块、函数、类、方法、关键字或文档主题中搜索该字符串,并在控制台上打印帮助信息。若是实参是其余任意对象,则会生成该对象的帮助页。请注意若是在函数的形参列表中出现了斜杠 (/),则它在发起调用 help() 的时候意味着斜杠以前的均为仅限位置形参。 更多相关信息,请参阅 有关仅限位置形参的 FAQ 条目。segmentfault
该函数经过 site 模块加入到内置命名空间。函数
在 3.4 版更改: pydoc 和 inspect 的变动使得可调用对象的签名信息更加全面和一致。spa
将整数转换为以“0x”为前缀的小写十六进制字符串。若是 x 不是 Python int 对象,则必须定义返回整数的 __index__() 方法。一些例子:code
>>> hex(255) '0xff' >>> hex(-42) '-0x2a'
若是要将整数转换为大写或小写的十六进制字符串,并可选择有无“0x”前缀,则可使用以下方法:orm
>>> '%#x' % 255, '%x' % 255, '%X' % 255 ('0xff', 'ff', 'FF') >>> format(255, '#x'), format(255, 'x'), format(255, 'X') ('0xff', 'ff', 'FF') >>> f'{255:#x}', f'{255:x}', f'{255:X}' ('0xff', 'ff', 'FF')
另见 format() 获取更多信息。另请参阅 int() 将十六进制字符串转换为以 16 为基数的整数。对象
注解 若是要获取浮点数的十六进制字符串形式,请使用 float.hex() 方法。递归
返回对象的“标识值”。该值是一个整数,在此对象的生命周期中保证是惟一且恒定的。两个生命期不重叠的对象可能具备相同的 id() 值。CPython implementation detail: This is the address of the object in memory.生命周期
若是存在 prompt 实参,则将其写入标准输出,末尾不带换行符。接下来,该函数从输入中读取一行,将其转换为字符串(除了末尾的换行符)并返回。当读取到 EOF 时,则触发 EOFError。例如:ip
>>> >>> s = input('--> ') --> Monty Python's Flying Circus >>> s "Monty Python's Flying Circus"
若是加载了 readline 模块,input() 将使用它来提供复杂的行编辑和历史记录功能。
class int(x, base=10)
返回一个使用数字或字符串 x 生成的整数对象,或者没有实参的时候返回 0 。若是 x 定义了 __int__(),int(x) 返回 x.__int__() 。若是 x 定义了 __trunc__(),它返回 x.__trunc__() 。对于浮点数,它向零舍入。若是 x 不是数字,或者有 base 参数,x 必须是字符串、bytes、表示进制为 base 的 整数字面值 的 bytearray 实例。该文字前能够有 + 或 - (中间不能有空格),先后能够有空格。一个进制为 n 的数字包含 0 到 n-1 的数,其中 a 到 z (或 A 到 Z )表示 10 到 35。默认的 base 为 10 ,容许的进制有 0、2-36。二、八、16 进制的数字能够在代码中用 0b/0B 、 0o/0O 、 0x/0X 前缀来表示。进制为 0 将安照代码的字面量来精确解释,最后的结果会是 二、八、十、16 进制中的一个。因此 int('010', 0) 是非法的,但 int('010') 和 int('010', 8) 是合法的。
整数类型定义请参阅 数字类型 --- int, float, complex 。
在 3.4 版更改: 若是 base 不是 int 的实例,但 base 对象有 base.__index__ 方法,则会调用该方法来获取进制数。之前的版本使用 base.__int__ 而不是 base.__index__。
在 3.6 版更改: 您可使用下划线将代码文字中的数字进行分组。
在 3.7 版更改: x 如今只能做为位置参数。
若是 object 实参是 classinfo 实参的实例,或者是(直接、间接或 虚拟)子类的实例,则返回 true。若是 object 不是给定类型的对象,函数始终返回 false。若是 classinfo 是对象类型(或多个递归元组)的元组,若是 object 是其中的任何一个的实例则返回 true。 若是 classinfo 既不是类型,也不是类型元组或类型的递归元组,那么会触发 TypeError 异常。
若是 class 是 classinfo 的子类(直接、间接或 虚拟 的),则返回 true。classinfo 能够是类对象的元组,此时 classinfo 中的每一个元素都会被检查。其余状况,会触发 TypeError 异常。
返回一个 iterator 对象。根据是否存在第二个实参,第一个实参的解释是很是不一样的。若是没有第二个实参,object 必须是支持迭代协议(有 __iter__() 方法)的集合对象,或必须支持序列协议(有 __getitem__() 方法,且数字参数从 0 开始)。若是它不支持这些协议,会触发 TypeError。若是有第二个实参 sentinel,那么 object 必须是可调用的对象。这种状况下生成的迭代器,每次迭代调用它的 __next__() 方法时都会不带实参地调用 object;若是返回的结果是 sentinel 则触发 StopIteration,不然返回调用结果。另请参阅 迭代器类型。
适合 iter() 的第二种形式的应用之一是构建块读取器。 例如,从二进制数据库文件中读取固定宽度的块,直至到达文件的末尾:
from functools import partial with open('mydata.db', 'rb') as f: for block in iter(partial(f.read, 64), b''): process_block(block)
上一篇文章: Python标准库---二、内置函数(D-E-F)
下一篇文章: Python标准库---四、内置函数(L-M-N-O)