zoukankan      html  css  js  c++  java
  • python内置函数详解

      内置函数

      python一共为我们提供了69个内置函数

      内置函数

      abs() delattr() hash() memoryview() set()

      all() dict() help() min() setattr()

      any() dir() hex() next() slice()

      ascii() divmod() id() object() sorted()

      bin() enumerate() input() oct() staticmethod()

      bool() eval() int() open() str()

      breakpoint() exec() isinstance() ord() sum()

      bytearray() filter() issubclass() pow() super()

      bytes() float() iter() print() tuple()

      callable() format() len() property() type()

      chr() frozenset() list() range() vars()

      classmethod() getattr() locals() repr() zip()

      compile() globals() map() reversed() __import__()

      complex() hasattr() max() round()

      abs(x)

      返回数字的绝对值。参数可以是整数或浮点数。如果参数为复数,则返回其大小。

      all(iterable)

      如果 iterable 的所有元素为真(或迭代器为空),返回 True 。

      检查 iterable 中是否含有空字符,只要有一个空字符就返回False

      # 等价于

      def all(iterable):

      for element in iterable:

      if not element:

      return False

      return True

      1

      2

      3

      4

      5

      6

      any(iterable)

      如果 iterable 的任一元素为真则返回 True。 如果迭代器为空,返回 False。

      # 等价于

      def any(iterable):

      for element in iterable:

      if element:

      return True

      return False

      1

      2

      3

      4

      5

      6

      7

      ascii(object)

      返回一个对象可打印的 ASCII 编码的字符,生成的字符串和 Python 2 的 repr()返回的结果相似。

      bin(x)

      将一个整数转变为一个前缀为“0b”的二进制字符串。结果是一个合法的 Python 表达式。如果 x 不是 Python 的 int 对象,那它需要定义 __index__()方法返回一个整数。

      bool([x])

      返回一个布尔值,True 或者 False。如果 x 是假的或者被省略,返回 False;其他情况返回 True。

      breakpoint(*args, **kwargs)

      此函数会在调用时将你陷入调试器中。具体来说,它调用 sys.breakpointhook() ,直接传递 args 和 kws 。默认情况下, sys.breakpointhook() 调用 pdb.set_trace() 且没有参数。在这种情况下,它纯粹是一个便利函数,因此您不必显式导入 pdb 且键入尽可能少的代码即可进入调试器。但是, sys.breakpointhook() 可以设置为其他一些函数并被 breakpoint() 自动调用,以允许进入你想用的调试器。3.7 新版功能.

      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 的数组。

      class bytes([source[, encoding[, errors]]])

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

      因此,构造函数的实参和 bytearray() 相同。字节对象还可以用字面值创建

      callable(object)

      如果实参 object 是可调用的,返回 True,否则返回 False。如果返回真,调用仍可能会失败;但如果返回假,则调用 object 肯定会失败。

      chr(i)

      返回 Unicode 码位为整数 i 的字符的字符串格式。

      例如,chr(97) 返回字符串 'a',chr(8364) 返回字符串 '€'。这是 ord() 的逆函数。

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

      @classmethod

      把一个方法封装成类方法。

      一个类方法把类自己作为第一个实参,就像一个实例方法把实例自己作为第一个实参。

      # 用以下习惯来声明类方法

      class C:

      @classmethod

      def f(cls, arg1, arg2, ...): ...

      1

      2

      3

      4

      类方法的调用可以在类上进行 (例如 C.f()) 也可以在实例上进行 (例如 C().f())。

      compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)

      将 source编译成代码或 AST 对象。代码对象可以被 exec()或 eval() 执行。

      source 可以是常规的字符串、字节字符串,或者 AST 对象。

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

      mode 实参指定了编译代码必须用的模式。如果 source 是语句序列,可以是 'exec';如果是单一表达式,可以是 'eval';如果是单个交互式语句,可以是 'single'。

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

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

      class complex([real[, imag]])

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

      delattr(object,name)

      setattr()相关的函数。实参是一个对象和一个字符串。该字符串必须是对象的某个属性。如果对象允许,该函数将删除指定的属性。

      class dict(**kwargs)

      class dict(mapping, **kwarg)

      class dict(iterable, **kwarg)

      创建一个新的字典。dict 对象是一个字典类。

      dir([object])

      如果没有实参,则返回当前本地作用域模块中的属性列表。如果有实参,它会尝试返回该对象的有效属性列表。

      # 返回的列表按字母表排序

      import struct

      dir() # 获得当前模块的属性列表

      >>> ['__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']

      dir([ ]) # 查看列表的方法

      >>> ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      divmod(a, b)

      它将两个(非复数)数字作为实参,并在执行整数除法时返回一对商和余数。

      对于混合操作数类型,适用双目算术运算符的规则。对于整数,结果和 (a // b, a % b) 一致。

      对于浮点数,结果是 (q, a % b) ,q 通常是 math.floor(a / b) 但可能会比 1 小。

      enumerate(iterable, start=0)

      返回一个枚举对象。

      enumerate()返回一个元组,里面包含一个计数值(从 start 开始,默认为 0)和通过迭代 iterable 获得的值。

      iterable 必须是一个序列,或 迭代器,或其他支持迭代的对象。

      # 等价于:  郑州男科医院:http://www.zztjnk.com/郑州男科医院哪家好:http://www.zztjnk.com/郑州包皮手术价:http://www.zztjnk.com/

      def enumerate(sequence, start=0):

      n = start

      for elem in sequence:

      yield n, elem

      n += 1

      1

      2

      3

      4

      5

      6

      例子:

      >>> 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')]

      1

      2

      3

      4

      5

      eval(expression[, globals[, locals]])

      eval() 函数用来执行一个字符串表达式,并返回表达式的值。

      expression – 表达式。

      globals – 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。

      locals – 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。

      >>>x = 7

      >>> eval( '3 * x' )

      21

      >>> eval('pow(2,2)')

      4

      >>> eval('2 + 2')

      4

      >>> n=81

      >>> eval("n + 4")

      85

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      exec(object[, globals[, locals]])

      exec 执行储存在字符串或文件中的 Python 语句,相比于 eval,exec可以执行更复杂的 Python 代码

      exec 返回值永远为 None。

      object:必选参数,表示需要被指定的Python代码。它必须是字符串或code对象。如果object是一个字符串,该字符串会先被解析为一组Python语句,然后在执行(除非发生语法错误)。如果object是一个code对象,那么它只是被简单的执行。

      globals:可选参数,表示全局命名空间(存放全局变量),如果被提供,则必须是一个字典对象。

      locals:可选参数,表示当前局部命名空间(存放局部变量),如果被提供,可以是任何映射对象。如果该参数被忽略,那么它将会取与globals相同的值。

      ————————————————

      版权声明:本文为CSDN博主「倔强 Jarrod」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

      原文链接:https://blog.csdn.net/Jarrodche/article/details/102463128

  • 相关阅读:
    03-串联
    大数据项目之电商数仓(3电商数据仓库系统)V6.1.3
    JQuery实现tab页
    Java面试题之计算字符/字符串出现的次数
    ios 苹果内购订单验证 --- nodejs实现
    ios 苹果内购订单验证 --- php实现
    Android内购订单验证 --- nodejs实现
    Android内购订单验证 --- php实现
    Google Compute Engine VM自动调节
    php性能优化 --- laravel 性能优化
  • 原文地址:https://www.cnblogs.com/sushine1/p/11654212.html
Copyright © 2011-2022 走看看