资讯专栏INFORMATION COLUMN

Python标准库---1、内置函数(A-B-C)

bingo / 2897人阅读

摘要:内置函数返回一个数的绝对值。使用标准的真值测试过程来转换。因此,构造函数的实参和相同。实参的合法范围是到进制表示是。数字类型描述了复数类型。上一篇文章标准库简介下一篇文章标准库内置函数

上一篇文章:Python标准库----0、简介
下一篇文章:Python标准库---1、内置函数(D-E-F)

Python 解释器内置了很多函数和类型,您可以在任何时候使用它们。以下按字母表顺序列出它们。

内置函数:

1. abs(x)
返回一个数的绝对值。实参可以是整数或浮点数。如果实参是一个复数,返回它的模。
2. all(iterable)
如果 iterable 的所有元素为真(或迭代器为空),返回 True 。等价于:
def all(iterable):
    for element in iterable:
        if not element:
            return False
    return True
3. any(iterable)
如果iterable的任一元素为真则返回True。如果迭代器为空,返回False。等价于:
def any(iterable):
    for element in iterable:
        if element:
            return True
    return False
4. ascii(object)
就像函数 repr(),返回一个对象可打印的字符串,但是 repr() 返回的字符串中非 ASCII 编码的字符,会使用 x、u 和 U 来转义。生成的字符串和 Python 2 的 repr() 返回的结果相似。
5. bin(x)

将一个整数转变为一个前缀为“0b”的二进制字符串。结果是一个合法的 Python 表达式。如果 x 不是 Python 的 int 对象,那它需要定义 __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() 获取更多信息。

6. class bool([x])
返回一个布尔值,True 或者 False。 x 使用标准的 真值测试过程 来转换。如果 x 是假的或者被省略,返回 False;其他情况返回 True。bool 类是 int 的子类(参见 数字类型 --- int, float, complex)。其他类不能继承自它。它只有 False 和 True 两个实例(参见 布尔值)。

在 3.7 版更改: x 现在只能作为位置参数。

7. breakpoint(args, *kws)
此函数会在调用时将你陷入调试器中。具体来说,它调用 sys.breakpointhook() ,直接传递 args 和 kws 。默认情况下, sys.breakpointhook() 调用 pdb.set_trace() 且没有参数。在这种情况下,它纯粹是一个便利函数,因此您不必显式导入 pdb 且键入尽可能少的代码即可进入调试器。但是, sys.breakpointhook() 可以设置为其他一些函数并被 breakpoint() 自动调用,以允许进入你想用的调试器。
3.7 新版功能.
8. class bytearray([source[, encoding[, errors]]])
返回一个新的 bytes 数组。 bytearray 类是一个可变序列,包含范围为 0 <= x < 256 的整数。它有可变序列大部分常见的方法,见 可变序列类型 的描述;同时有 bytes 类型的大部分方法,参见 bytes 和 bytearray 操作。

可选形参 source 可以用不同的方式来初始化数组:

如果是一个 string,您必须提供 encoding 参数(errors 参数仍是可选的);bytearray() 会使用 str.encode() 方法来将 string 转变成 bytes。

如果是一个 integer,会初始化大小为该数字的数组,并使用 null 字节填充。

如果是一个符合 buffer 接口的对象,该对象的只读 buffer 会用来初始化字节数组。

如果是一个 iterable 可迭代对象,它的元素的范围必须是 0 <= x < 256 的整数,它会被用作数组的初始内容。

如果没有实参,则创建大小为 0 的数组。

另见 二进制序列类型 --- bytes, bytearray, memoryview 和 bytearray 对象。

9. class bytes([source[, encoding[, errors]]])
返回一个新的“bytes”对象, 是一个不可变序列,包含范围为 0 <= x < 256 的整数。bytes 是 bytearray 的不可变版本 - 它有其中不改变序列的方法和相同的索引、切片操作。

因此,构造函数的实参和 bytearray() 相同。

字节对象还可以用字面值创建,参见 字符串和字节串字面值。

另见 二进制序列类型 --- bytes, bytearray, memoryview,bytes 对象 和 bytes 和 bytearray 操作。

10. callable(object)
如果实参 object 是可调用的,返回 True,否则返回 False。如果返回真,调用仍可能会失败;但如果返回假,则调用 object 肯定会失败。注意类是可调用的(调用类会返回一个新的实例)。如果实例的类有 __call__() 方法,则它是可调用。

3.2 新版功能: 这个函数一开始在 Python 3.0 被移除了,但在 Python 3.2 被重新加入。

11. chr(i)
返回 Unicode 码位为整数 i 的字符的字符串格式。例如,chr(97) 返回字符串 "a",chr(8364) 返回字符串 "€"。这是 ord() 的逆函数。

实参的合法范围是 0 到 1,114,111(16 进制表示是 0x10FFFF)。如果 i 超过这个范围,会触发 ValueError 异常。

12. @classmethod
把一个方法封装成类方法。

一个类方法把类自己作为第一个实参,就像一个实例方法把实例自己作为第一个实参。请用以下习惯来声明类方法:

class C:
    @classmethod
    def f(cls, arg1, arg2, ...): ...
@classmethod 这样的形式称为函数的 decorator -- 详情参阅 函数定义。

类方法的调用可以在类上进行 (例如 C.f()) 也可以在实际上进行 (例如 C().f())。 其所属类以外的类实例会被忽略。 如果类方法在其所属类的派生类上调用,则该派生类对象会被作为隐含的第一个参数被传入。

类方法与 C++ 或 Java 中的静态方法不同。 如果你需要后者,请参阅 staticmethod()。

想了解更多有关类方法的信息,请参阅 标准类型层级结构 。

13. compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)
将 source 编译成代码或 AST 对象。代码对象可以被 exec() 或 eval() 执行。source 可以是常规的字符串、字节字符串,或者 AST 对象。参见 ast 模块的文档了解如何使用 AST 对象。

filename 实参需要是代码读取的文件名;如果代码不需要从文件中读取,可以传入一些可辨识的值(经常会使用 "")。

mode 实参指定了编译代码必须用的模式。如果 source 是语句序列,可以是 "exec";如果是单一表达式,可以是 "eval";如果是单个交互式语句,可以是 "single"。(在最后一种情况下,如果表达式执行结果不是 None 将会被打印出来。)

可选参数 flags 和 dont_inherit 控制在编译 source 时要用到哪个 future 语句。 如果两者都未提供(或都为零)则会使用调用 compile() 的代码中有效的 future 语句来编译代码。 如果给出了 flags 参数但没有 dont_inherit (或是为零) 则 flags 参数所指定的 以及那些无论如何都有效的 future 语句会被使用。 如果 dont_inherit 为一个非零整数,则只使用 flags 参数 -- 在调用外围有效的 future 语句将被忽略。

Future 语句使用比特位来指定,多个语句可以通过按位或来指定。具体特性的比特位可以通过 future 模块中的 _Feature 类的实例的 compiler_flag 属性来获得。

optimize 实参指定编译器的优化级别;默认值 -1 选择与解释器的 -O 选项相同的优化级别。显式级别为 0 (没有优化;__debug__ 为真)、1 (断言被删除, debug 为假)或 2 (文档字符串也被删除)。

如果编译的源码不合法,此函数会触发 SyntaxError 异常;如果源码包含 null 字节,则会触发 ValueError 异常。

如果您想分析 Python 代码的 AST 表示,请参阅 ast.parse()。

注解 在 "single" 或 "eval" 模式编译多行代码字符串时,输入必须以至少一个换行符结尾。 这使 code 模块更容易检测语句的完整性。
警告 在将足够大或者足够复杂的字符串编译成 AST 对象时,Python 解释器有可以因为 Python AST 编译器的栈深度限制而崩溃。
在 3.2 版更改: 允许使用 Windows 和 Mac 的换行符。在 "exec" 模式不再需要以换行符结尾。增加了 optimize 形参。

在 3.5 版更改: 之前 source 中包含 null 字节的话会触发 TypeError 异常。

14. class complex([real[, imag]])
返回值为 real + imag*1j 的复数,或将字符串或数字转换为复数。如果第一个形参是字符串,则它被解释为一个复数,并且函数调用时必须没有第二个形参。第二个形参不能是字符串。每个实参都可以是任意的数值类型(包括复数)。如果省略了 imag,则默认值为零,构造函数会像 int 和 float 一样进行数值转换。如果两个实参都省略,则返回 0j。

注解 当从字符串转换时,字符串在 + 或 - 的周围必须不能有空格。例如 complex("1+2j") 是合法的,但 complex("1 + 2j") 会触发 ValueError 异常。
数字类型 --- int, float, complex 描述了复数类型。

在 3.6 版更改: 您可以使用下划线将代码文字中的数字进行分组。

上一篇文章:Python标准库----0、简介
下一篇文章:Python标准库---1、内置函数(D-E-F)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/43986.html

相关文章

  • Python标准---2、内置函数(D-E-F)

    摘要:如果对象允许,该函数将删除指定的属性。返回值为表达式求值的结果。语法错误将作为异常被报告。该函数返回值是。例如数字类型描述了浮点类型。将转换为控制的格式化表示。上一篇文章标准库内置函数下一篇文章标准库内置函数 上一篇文章:Python标准库---1、内置函数(A-B-C)下一篇文章:Python标准库---3、内置函数(G-H-I-J-K) 内置函数: showImg(https:/...

    Fourierr 评论0 收藏0
  • Python标准---0、简介

    摘要:下一篇文章标准库内置函数标准库语言参考描述了语言的具体语法和语义,这份库参考则介绍了与一同发行的标准库。这个库也包含了内置函数和异常不需要语句就可以在所有代码中使用的对象。下一篇文章标准库内置函数 下一篇文章:Python标准库---1、内置函数 Python 标准库 Python 语言参考 描述了 Python 语言的具体语法和语义,这份库参考则介绍了与 Python 一同发行的标...

    mo0n1andin 评论0 收藏0
  • Python标准---16、内置类型:上下文管理器类型、其他、特殊属性

    摘要:退出运行时上下文并返回一个布尔值旗标来表明所发生的任何异常是否应当被屏蔽。除了实现上下文管理协议以外,不同类型不会被特殊处理。其中一些并不会被内置函数所列出。 上一篇文章:Python标准库---15、内置类型:集合类型、映射类型下一篇文章:Python标准库---17、内置异常 上下文管理器类型 Python 的 with 语句支持通过上下文管理器所定义的运行时上下文这一概念。 此...

    zhisheng 评论0 收藏0
  • Python标准---8、内置常量

    摘要:上一篇文章标准库内置函数下一篇文章标准库内置类型逻辑值检测布尔运算比较内置常量有少数的常量存在于内置命名空间中。给赋值是非法的并会引发。如果所有尝试都返回,则解释器将引发适当的异常。如果没有以选项启动,则此常量为真值。 上一篇文章:Python标准库---7、内置函数(V-W-X-Y-Z)下一篇文章:Python标准库---9、内置类型:逻辑值检测、布尔运算、比较 内置常量 有少数的...

    gplane 评论0 收藏0
  • Python标准---9、内置类型:逻辑值检测、布尔运算、比较

    摘要:逻辑值检测任何对象都可以进行逻辑值的检测,以便在或作为条件或是作为下文所述布尔运算的操作数来使用。重要例外布尔运算和总是返回其中一个操作数。的优先级比非布尔运算符低,因此会被解读为而会引发语法错误。它们的优先级相同比布尔运算的优先级高。 上一篇文章:Python标准库---8、内置常量下一篇文章:Python标准库---10、内置类型:数字类型 内置类型 以下部分描述了解释器中内置的...

    zeyu 评论0 收藏0

发表评论

0条评论

bingo

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<