Python程序开发:内置函数介绍与应用实例 一-1.jpg (38.83 KB, 下载次数: 0)
2020-7-24 14:46 上传
Python 解释器内置了很多函数和类型,你可以在任何时候使用它们,而不需要 import 语句就可以在所有Python代码中使用这些对象。下面我们介绍Python 内置函数的使用方法。
abs(x)
返回一个数的绝对值。实参可以是整数(int)或浮点数(float)。如果实参是一个复数,则返回它的模。
>>> abs(-1)1>>> abs(1.1)1.1
all(iterable)
如果 iterable 的所有元素为真(或迭代器为空),返回 True ;只要有一个元素为假则返回False。等价于:
Python程序开发:内置函数介绍与应用实例 一-2.jpg (4.52 KB, 下载次数: 0)
2020-7-24 14:46 上传
any(iterable)
如果 iterable 的任一元素为真则返回 True。 如果迭代器为空,返回 False。 等价于:
Python程序开发:内置函数介绍与应用实例 一-3.jpg (4.42 KB, 下载次数: 0)
2020-7-24 14:46 上传
ascii(object)
返回一个对象可打印的字符串。生成的字符串和 Python 2 的 repr() 返回的结果相似。中文字符会打印出此字符对应的unicode字符。
>>> ascii('HelloWord')"'HelloWord'">>> ascii("你好")"'\\u4f60\\u597d'"
bin(x)
将一个整数转变为一个前缀为“0b”的二进制字符串。结果是一个合法的 Python 表达式。如果 x 不是 Python 的 int 对象,那它需要定义 __index__() 方法返回一个整数。一些例子:
>>> bin(8)'0b1000'>>> bin(-8)'-0b1000'
如果不需要前缀“0b”,还可以使用如下的方法:
>>> format(14, '#b'), format(14, 'b')('0b1110', '1110')>>> f'{14:#b}', f'{14:b}'('0b1110', '1110')
classbool([x])返回一个布尔值,True 或者 False。 x 使用标准的 真值测试过程 来转换。如果 x 是假的或者被省略,返回 False;下面完整地列出了会被视为假值的内置对象,其他情况返回 True。:
被定义为假值的常量: None 和 False。
任何数值类型的零: 0, 0.0, 0j, Decimal(0), Fraction(0, 1)
空的序列和多项集: '', (), [], {}, set(), range(0)
bool 类是 int 的子类。其他类不能继承自它。它只有 False 和 True 两个实例。
>>>bool()False>>> bool(0)False>>> bool(1)True>>> bool(2)True>>> issubclass(bool, int) # bool 是 int 子类True
breakpoint(*args, **kws)
此内置函数会在调用时会进入 Pdb 调试器。命令 p 用于查看表达式的值;命令 c 用于退出调试器,并继续执行程序。
def divide(divisor, dividend): breakpoint() #之后出现异常后在(Pdb)后输入 a ,可以打印变量的具体值 return dividend / divisorif __name__ == '__main__': print(divide(0, 1))
classbytearray([source[, encoding[, errors]]])
返回一个新的 bytes 数组。 bytearray 类和列表(list)一样是一个可变序列,包含范围为 0 <= x < 256 的整数。它有可变序列大部分常见的方法,同时有 bytes 类型的大部分方法.
可选形参 source 可以用不同的方式来初始化数组:
如果是一个 string,您必须提供 encoding 参数(errors 参数仍是可选的);bytearray() 会使用 str.encode() 方法来将 string 转变成 bytes。{!-- PGC_COLUMN --}
如果是一个 integer,会初始化大小为该数字的数组,并使用 null 字节填充。
如果是一个符合 buffer 接口的对象,该对象的只读 buffer 会用来初始化字节数组。
如果是一个 iterable 可迭代对象,它的元素的范围必须是 0 <= x < 256 的整数,它会被用作数组的初始内容。
如果没有实参,则创建大小为 0 的数组。
callable(object)
如果实参 object 是可调用的,返回 True,否则返回 False。如果返回真,调用仍可能会失败;但如果返回假,则调用 object 肯定会失败。注意类是可调用的(调用类会返回一个新的实例)。如果实例的类有 __call__() 方法,则它是可调用。
>>>callable(0)False>>> callable("runoob")False >>> def add(a, b):... return a + b... >>> callable(add) # 函数返回 TrueTrue
chr(i)
返回 Unicode 码位为整数 i 的字符串格式。例如,chr(98) 返回字符串 'b',chr(8364) 返回字符串 '€',chr(20013)返回字符串'中'。是 ord() 的逆函数。
>>> chr(98)'b'>>> chr(20013)中
实参的合法范围是 0 到 1,114,111(16 进制表示是 0x10FFFF)。如果 i 超过这个范围,会触发 ValueError异常。
@classmethod
classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。
一个类方法把类自己作为第一个实参,就像一个实例方法把实例自己作为第一个实参。用以下习惯来声明类方法:
class C: @classmethod def f(cls, arg1, arg2, ...): ...
@classmethod 这样的形式称为函数修饰器,类方法的调用可以在类上进行 (例如 C.f()) 也可以在实例上进行 (例如 C().f())。 其所属类以外的类实例会被忽略。 如果类方法在其所属类的派生类上调用,则该派生类对象会被作为隐含的第一个参数被传入。
Python程序开发:内置函数介绍与应用实例 一-4.jpg (14.56 KB, 下载次数: 0)
2020-7-24 14:46 上传
compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)
将一个字符串编译为字节代码
参数
source -- 字符串或者AST(Abstract Syntax Trees)对象。。filename -- 代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。mode -- 指定编译代码的种类。可以指定为 exec, eval, single。flags -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。。flags和dont_inherit是用来控制编译源码时的标志
实例
>>>str = "for i in range(0,10): print(i)" >>> c = compile(str,'','exec') # 编译为字节代码对象 >>> c at 0x10141e0b0, file "", line 1>>>> exec(c)0123456789>>> str = "3 * 4 + 5">>> a = compile(str,'','eval')>>> eval(a)17
classcomplex([real[, imag]])
返回值为 real + imag*1j 的复数,或将字符串或数字转换为复数。如果第一个形参是字符串,则它被解释为一个复数,并且函数调用时必须没有第二个形参。第二个形参不能是字符串。每个实参都可以是任意的数值类型(包括复数)。如果省略了 imag,则默认值为零,构造函数会像 int 和 float 一样进行数值转换。如果两个实参都省略,则返回 0j。
注意: 当从字符串转换时,字符串在 + 或 - 的周围必须不能有空格。例如 complex('1+2j') 是合法的,但complex('1 + 2j') 会触发 ValueError 异常。
delattr(object, name)
对象属性删除函数。实参是一个对象和一个字符串。该字符串必须是对象的某个属性。如果对象允许,该函数将删除指定的属性。例如 delattr(x, 'foobar') 等价于 del x.foobar 。
classdict(**kwarg)
创建一个新的字典。
>>> d=dict()>>> type(d)