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 不是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()。

当 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 范围内的可变整数序列。

可选的 source 参数可以用几种不同的方式初始化数组:如果它是一个字符串,则还必须给出 encoding(以及可选的 errors)参数; 然后 bytearray() 使用 str.encode() 将字符串转换为字节。

如果它是一个整数,则将其作为数组的长度,并将用空字节进行初始化。

如果它是符合缓冲区接口的对象,则将使用该对象的只读缓冲区来初始化字节数组。

如果它是一个 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 <= x <256 范围内的不可变整数序列。bytes 是 bytearray 的不可变版本 - 它具有相同的非变异方法和相同的索引和切片行为。

因此,构造函数参数解释请参考 bytearray()。

字节对象也可以使用文字创建。

callable(object)

如果 object 参数可调用,则返回 True,否则返回 False。如果返回 true,调用失败仍然是可能的,但如果是 false,调用 object 将永远不会成功。请注意,类是可调用的(调用一个类返回一个新的实例); 如果类有一个 __call __()方法,则实例可以被调用。

3.2版本中的新功能:此功能在 Python 3.0 中首先被删除,然后在 Python 3.2 中恢复。

In [19]: a = 1

In [20]: callable(a)

Out[20]: False

In [21]: def func():

...: pass

...:

In [22]: callable(func)

Out[22]: True

In [23]: class A:

...: pass

...:

In [24]: a = A()

In [25]: callable(a)

Out[25]: False

In [26]: class A:

...: def __call__(self, *args, **kwargs):

...: pass

...:

In [27]: a = A()

In [28]: callable(a)

Out[28]: True

chr(i)

返回表示 Unicode 代码点为整数 i 的字符的字符串。例如,chr(97) 返回字符串 'a',而 chr(8364) 返回字符串 '€'。这是 ord() 的逆过程。

参数的有效范围是从 0 到 1,114,111(基于 16 的 0x10FFFF)。如果超出这个范围,将会抛出 ValueError。

@classmethod

将方法转换为类方法。

类方法将类作为第一个参数接收(隐式的),就像实例方法接收实例一样。为了声明一个类方法,习惯用法如下:

class C:

@classmethod

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

!> 注意:类方法和静态方法不是一个概念

class complex([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。

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() 机制对不同类型的对象有不同的表现,因为它试图产生最相关的信息,而不是完整的信息:如果对象是模块对象,则列表包含模块属性的名称。

如果对象是一个类型或类对象,则该列表包含其属性的名称,并递归地显示其基础的属性。

否则,该列表包含对象的属性名称,其类属性的名称以及其类的基类的属性的递归。

结果列表按字母顺序排序。例如:

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

divmod(a, b)

以两个(非复数)数字作为参数,并在使用整数除法时返回由它们的商和余数组成的一对数字。使用混合操作数类型时,适用二元算术运算符的规则。对于整数,结果与 (a // b, a % b) 相同。对于浮点数,结果是 (q, a % b),其中 q 通常是 math.floor(a / b),但可能小于 1。在任何情况下, q * b + a % b 都非常接近 a,如果 a % b 不为零,则它具有与 b 相同的符号,并且 0 <= abs(a % b) < abs(b)。

In [53]: divmod(10, 3)

Out[53]: (3, 1)

In [54]: divmod(10.1, 3)

Out[54]: (3.0, 1.0999999999999996)

enumerate( iterable, start=0)

返回一个枚举对象。 iterable 必须是一个序列,一个迭代器或其他支持迭代的对象。由 enumerate() 返回的迭代器的 __next__() 方法返回一个元组,该元组包含一个计数(从 start 开始,默认值为 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 参数的类型,不过,大多数内置类型都使用标准格式化语法:格式化规范迷你语言https://docs.python.org/3.7/library/string.html#formatspec。

默认 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 __() 方法。一些例子:

>>> hex(255)

'0xff'

>>> hex(-42)

'-0x2a'

如果要将整数转换为带有前缀或不带前缀的大写或小写十六进制字符串,可以使用以下任一方式:

>>> '%#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')

!> 要获取浮点数的十六进制字符串表示形式,请使用 float.hex() 方法。

id(object)

返回一个对象的 “identity”。它是一个整数,它在其生命周期中保证对这个对象唯一且恒定。具有非重叠生命周期的两个对象可能具有相同的 id() 值。

CPython 实现细节:这是内存中对象的地址。

input([prompt])

如果 prompt 参数存在,则将其写入标准输出而没有尾随换行符。然后该函数从输入中读取一行,将其转换为一个字符串(剥离尾随的换行符),然后返回该行。读取 EOF 时,引发 EOFError。例:

>>> s = input('--> ')

--> Monty Python's Flying Circus

>>> s

"Monty Python's Flying Circus"

int

class int(x=0)

class int(x, base=10)

返回一个由数字或字符串 x 构造的整数对象,如果没有给出参数,则返回 0。如果 x 不是数字,则返回 x.__int__()。

In [22]: class A:

...: def __int__(self):

...: return 10

...:

In [23]: a = A()

In [24]: int(a)

Out[24]: 10

如果 x 不是数字或给定了 base,那么 x 必须是一个 string, bytes 或 bytearray 实例,它表示以 base 为基数的整数文字。或者,文字可以在前面加上 +或 - (两者之间没有空格)。

In [25]: int('-10')

Out[25]: -10

In [26]: int('+10')

Out[26]: 10

In [27]: int('- 10')

---------------------------------------------------------------------------

ValueError Traceback (most recent call last)

in ()

----> 1 int('- 10')

ValueError: invalid literal for int() with base 10: '- 10'

In [28]: int('1000',2)

Out[28]: 8

In [29]: int('ff',16)

Out[29]: 255

isinstance(object, classinfo)

如果 object 参数是 classinfo 参数的实例或其(直接,间接或虚拟)子类的实例,则返回 true。如果 object 不是给定类型的对象,则该函数总是返回 false。如果 classinfo 是类型对象的元组, object 是其中任何一个类型的实例,则返回 true。如果 classinfo 不是类型或一组类型的元组,则会引发 TypeError 异常。

In [30]: isinstance(10, int)

Out[30]: True

In [31]: isinstance("str", (int, str))

Out[31]: True

In [32]: isinstance(max, int)

Out[32]: False

issubclass(class, classinfo)

如果 class 是 classinfo 的子类(直接,间接或虚拟),则返回 true。一个类被认为是它自己的一个子类。 classinfo 可以是类对象的元组,在这种情况下,将检查 classinfo 中的每个条目。在任何其他情况下,都会引发 TypeError 异常。

In [34]: issubclass(int, int)

Out[34]: True

In [35]: issubclass(10, int)

---------------------------------------------------------------------------

TypeError Traceback (most recent call last)

in ()

----> 1 issubclass(10, int)

TypeError: issubclass() arg 1 must be a class

In [36]: issubclass(int, str)

Out[36]: False

iter(object[, sentinel])

返回一个迭代器对象。根据第二个参数是否存在,第一个参数的解释有所不同。如果没有第二个参数,object 必须是支持迭代协议(__iter__() 方法)的集合对象,或者它必须支持序列协议(整数参数从 0 开始的 __getitem__() 方法)。如果它不支持这两种协议,则会引发 TypeError。如果给出了第二个参数 sentinel,那么 object 必须是可调用的对象。在这种情况下创建的迭代器将调用没有参数的 object,以便对其 __next__() 方法进行调用;如果返回的值等于 sentinel,则会触发StopIteration,否则将返回该值。

第二种形式的 iter() 的一个例子是按行读取文件,直到到达某一行。以下示例读取文件,直到 readline() 方法返回空字符串:

with open('mydata.txt') as fp:

for line in iter(fp.readline, ''):

process_line(line)

len(s)

返回对象的长度(条目数量)。参数可以是一个序列(如 string,bytes,tuple,list 或 range)或集合(如字典,set 或 frozenset)。

也可用于实现了__len__() 方法的任意对象

In [40]: class A:

...: def __len__(self):

...: return 10

In [41]: a = A()

In [42]: len(a)

Out[42]: 10每日答答-程序员问答分享平台-快人一步,解决程序员问题​1024dada.com

python内建函数有哪些_Python内建函数大全(一)相关推荐

  1. python的raw函数_Python内建函数之raw_input()与input()代码解析

    这两个均是 python 的内建函数,通过读取控制台的输入与用户实现交互.但他们的功能不尽相同.举两个小例子. >>> raw_input_A = raw_input("r ...

  2. python结束运行快捷键_Python 快捷键大全

    1.编辑(Editing)Ctrl + Space 基本的代码完成(类.方法.属性)Ctrl + Alt + Space 快速导入任意类Ctrl + Shift + Enter 语句完成Ctrl + ...

  3. python变量类型字符串的内建函数使用

    python变量类型&字符串的内建函数使用 python常用数据类型: 数字(整数int,浮点数float) 字符串 元组 列表 字典 一.格式化输出 1.1第一种格式化输出 %d整数  %f ...

  4. python单目运算_Python -- 数字

    Python 支持多种数字类型:整型.长整型.布尔型.双精度浮点型.十进制浮点型和复数. Python的几种主要数字类型 Python 有几种整数类型.布尔类型是只有两个值的整型.常规整型是绝大多数现 ...

  5. python函数知识点总结_python函数map()和partial()的知识点总结

    map()是python的一个内建函数, 他能够通过函数来处理序列,比如,我们相关一个数组[0,1,2,3,4,5]所有的数字都+2 , 当然,我们可以这么做 old = [0,1,2,3,4,5] ...

  6. python数据文件输入输出_python 文件输入与输出

    python文件读写 python 进行文件读写的内建函数是open或file file_hander(文件句柄或者叫做对象)= open(filename,mode) mode: 模式    说明 ...

  7. python建立一个字符串_python字符串基本方法

    字符串类型在Python中是十分重要的类型,他一般用引号中间添加字符的形式表达,不同于其他语言的是,Python中双引号(" ")与单引号(' ')是不予区分的.都可以用来表示字符 ...

  8. python导入模块语句_python 模块导入详解

    本文不讨论 Python 的导入机制(底层实现细节),仅讨论模块与包,以及导入语句相关的概念.通常,导入模块都是使用如下语句: import...import... as ...from ... im ...

  9. vscode使用教程python-VSCode下好用的Python插件及配置_python

    这篇文章主要介绍了微软官方的Python插件,已经自带很多功能,下面是插件功能描述,其中部分内容我做了翻译,需要的朋友可以参考下 MS Python插件. 这是微软官方的Python插件,已经自带很多 ...

最新文章

  1. 一篇文章教会你利用Python网络爬虫获取Mikan动漫资源
  2. oracle中max,listagg使用,需求:求门诊开甲功三项的病人的基本信息与化验结果的数据,...
  3. Android性能优化典范第五季
  4. IOT数据库选型——NOSQL,MemSQL,cassandra,Riak或者OpenTSDB,InfluxDB
  5. 概率模型分子动力学模拟五元环吡咯C4H5N
  6. 安卓屏幕适配方案(根据今日头条方案,升级版)
  7. py 的 第 8 天
  8. ARM版本系列及家族成员梳理
  9. 搭乘云原生与数据中台实践列车 通往数字化转型前沿之旅
  10. .net 调用css/javascipt出现的问题及解决
  11. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第1节 常用函数接口_7_常用的函数式接口_Supplier接口...
  12. EasyUI - Layout 布局控件
  13. Win10电脑微软应用商店打不开怎么办
  14. 让浏览器下载的文件不再是锁定状态
  15. 艾肯声卡调试方法【必看】
  16. 浅谈JavaScript面向对象编程(转自酷勤网)
  17. 关于音频情感分类的随笔(3)
  18. gtest中死亡测试
  19. UHS-I SD/miroSD接口速率速查表
  20. cesium 获取当前屏幕视角的三维参数,x、y、z、heading、pitch、roll

热门文章

  1. 网络工程师交换试验手册之二十五:详细讲授利用xmodem来恢复IOS
  2. asp.net程序的问题原来是IE造成的,改用firefox就没问题了!
  3. 5.4shell编程3
  4. OSI七层与TCP/IP四层模型
  5. 第二层$.get()、$.post() 方法使用(三)
  6. 互联网服务应用协议设计
  7. modprobe命令使用方法
  8. php refcount,php的函数的形参refcount为何要加2
  9. 区块链必读的书_最好的区块链:5条必读
  10. ansible vim_Vim插件,使用Ansible自动化部署策略,Pelican入门,Linux,Joplin,Python以及更多新鲜读物