Python内置函数(2)

Python内置函数(1)— abs()、all()、any()、ascii()、bin()、bool()、breakpoint()、bytearray()、bytes()、callable()。
Python内置函数(2)— chr()、classmethod()、compile()、complex()、delattr()、dict()、dir()、divmod()、enumerate()、eval()。
Python内置函数(3)— exec()、filter()、float()、format()、frozenset()、getattr()、globals()、hasattr()、hash()、help()。
Python内置函数(4)— hex()、id()、input()、int()、isinstance()、issubclass、iter()、len()、list()、locals()。
Python内置函数(5)— map()、max()、memoryview()、min()、next()、object()、oct()、open()、ord()、pow()。
Python内置函数(6)— print()、property()、range()、repr()、reversed()、round()、set()、setattr()、slice()、sorted()。
Python内置函数(7)— staticmethod()、str()、sum()、super()、tuple()、type()、vars()、zip()、__import__()。

内置函数(原文)
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() 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()
Python内置函数.png

11、chr()

a)描述

原文:
Return a Unicode string of one character with ordinal i; 0 <= i <= 0x10ffff.
中文:
返回一个Unicode字符串的一个字符与序号i;0 <= i <= 0x10ffff。
诠释:
chr() 用一个整数作参数,返回一个对应的字符。

b)语法

chr() 方法的语法:chr(i)

c)参数

i:可以是 10 进制也可以是 16 进制的形式的数字,数字范围为 0 到 1,114,111 (16 进制为0x10FFFF)。

d)返回值

返回值是当前整数对应的 ASCII 字符。

e)实例
print("chr(0x30):",chr(0x30))
print("chr(97):",chr(97))
print("chr(8364):",chr(8364))

运行结果:

chr(0x30): 0
chr(97): a
chr(8364): €

12、classmethod()

a)描述

classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。

b)语法

classmethod 语法:classmethod

c)参数

无。

d)返回值

返回函数的类方法。

e)实例
class A(object):
    bar = 1
    def func1(self):
        print('foo')
    @classmethod
    def func2(cls):
        print('func2')
        print(cls.bar)
        cls().func1()  # 调用 foo 方法
A.func2()  # 不需要实例化

运行结果:

func2
1
foo

13、compile()

a)描述

原文:
Compile source into a code object that can be executed by exec() or eval().
The source code may represent a Python module, statement or expression.
The filename will be used for run-time error messages.
The mode must be 'exec' to compile a module, 'single' to compile a single (interactive) statement, or 'eval' to compile an expression.
The flags argument, if present, controls which future statements influence the compilation of the code.
The dont_inherit argument, if true, stops the compilation inheriting the effects of any future statements in effect in the code calling compile; if absent or false these statements do influence the compilation, in addition to any features explicitly specified.
中文:
将源代码编译成可以由exec()或eval()执行的代码对象。
源代码可以代表一个Python模块,语句或表达式。
该文件名将用于运行时错误消息。
模式必须是'exec'来编译一个模块,'single'来编译一个(交互的)语句,或者'eval'来编译一个表达式。
标记参数,如果存在,控制哪些未来的语句影响代码的编译。
如果dont_inherit参数为真,则停止编译,继承代码调用compile时任何未来语句的效果;如果不存在或为false,除了显式指定的任何特性外,这些语句还会影响编译。

b)语法

compile() 方法的语法:compile(source, filename, mode[, flags[, dont_inherit]])

c)参数

source:字符串或者AST(Abstract Syntax Trees)对象。
filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。
mode:指定编译代码的种类。可以指定为 exec, eval, single。
flags:变量作用域,局部命名空间,如果被提供,可以是任何映射对象。
flags和dont_inherit是用来控制编译源码时的标志。

d)返回值

返回表达式执行结果。

e)实例
str = "for i in range(0,10): print(i)"
c = compile(str,'','exec')   # 编译为字节代码对象
print("c:",c)
exec(c)
str = "3 * 4 + 5"
a = compile(str,'','eval')
print("eval(a):",eval(a))

运行结果:

c: <code object <module> at 0x0000017AFFA770E0, file "", line 1>
0
1
2
3
4
5
6
7
8
9
eval(a): 17

14、complex()

a)描述

complex() 函数用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数。

b)语法

complex 语法:class complex([real[, imag]])

c)参数

real:int, long, float或字符串。
imag:int, long, float。

d)返回值

返回一个复数。

e)实例
print("complex(1, 2):",complex(1, 2))
print("complex(1):",complex(1))  # 数字
print("complex('1'):",complex('1'))  # 当做字符串处理
# 注意:这个地方在"+"号两边不能有空格,也就是不能写成"1 + 2j",应该是"1+2j",否则会报错
print("complex('1+2j'):",complex('1+2j'))

运行结果:

complex(1, 2): (1+2j)
complex(1): (1+0j)
complex('1'): (1+0j)
complex('1+2j'): (1+2j)

15、delattr()

a)描述

原文:
Deletes the named attribute from the given object.
delattr(x, 'y') is equivalent to "del x.y".
中文:
从给定对象中删除命名属性。
delattr(x, 'y') 相当于 '' del x.y "。

b)语法

delattr 语法:delattr(object, name)

c)参数

object:对象。
name:必须是对象的属性。

d)返回值

无。

e)实例
class Coordinate:
    x = 10
    y = -5
    z = 0
point1 = Coordinate()
print('x = ', point1.x)
print('y = ', point1.y)
print('z = ', point1.z)
delattr(Coordinate, 'z')
print('--删除 z 属性后--')
print('x = ', point1.x)
print('y = ', point1.y)
# 触发错误
print('z = ', point1.z)

运行结果:

Traceback (most recent call last):
  File "D:/Python_Project/Temp.py", line 1041, in <module>
    print('z = ', point1.z)
AttributeError: 'Coordinate' object has no attribute 'z'
x =  10
y =  -5
z =  0
--删除 z 属性后--
x =  10
y =  -5

16、dict()

a)描述

dict() 函数用于创建一个字典。

b)语法

dict 语法:
class dict(**kwarg)
class dict(mapping, **kwarg)
class dict(iterable, **kwarg)

c)参数

**kwargs:关键字
mapping:元素的容器。
iterable:可迭代对象。

d)返回值

返回一个字典。

e)实例
print("dict():",dict())                      # 创建空字典
print("dict(a='a', b='b', t='t'):",dict(a='a', b='b', t='t'))     # 传入关键字
print("dict(zip(['one', 'two', 'three'], [1, 2, 3])):",dict(zip(['one', 'two', 'three'], [1, 2, 3])))   # 映射函数方式来构造字典
print("dict([('one', 1), ('two', 2), ('three', 3)]):",dict([('one', 1), ('two', 2), ('three', 3)]))    # 可迭代对象方式来构造字典

运行结果:

dict(): {}
dict(a='a', b='b', t='t'): {'a': 'a', 'b': 'b', 't': 't'}
dict(zip(['one', 'two', 'three'], [1, 2, 3])): {'one': 1, 'two': 2, 'three': 3}
dict([('one', 1), ('two', 2), ('three', 3)]): {'one': 1, 'two': 2, 'three': 3}

17、dir()

a)描述

原文:
If called without an argument, return the names in the current scope.
Else, return an alphabetized list of names comprising (some of) the attributes of the given object, and of attributes reachable from it.
If the object supplies a method named __dir__, it will be used; otherwise the default dir() logic is used and returns:
for a module object: the module's attributes.
for a class object: its attributes, and recursively the attributes of its bases.
for any other object: its attributes, its class's attributes, and recursively the attributes of its class's base classes.
中文:
如果没有参数调用,则返回当前范围中的名称。
否则,返回一个按字母顺序排列的名称列表,其中包含(一些)给定对象的属性,以及从中可以访问的属性。
如果对象提供了一个名为__dir__的方法,则使用该方法;否则将使用默认的dir()逻辑并返回:
作为模块对象:模块的属性。
作为一个类对象:它的属性,递归地为它的基的属性。
作为任何其他对象:它的属性,它的类的属性,以及递归地它的类的基类的属性。
诠释:
dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法dir(),该方法将被调用。如果参数不包含dir(),该方法将最大限度地收集参数信息。

b)语法

dir 语法:dir([object])

c)参数

object:对象、变量、类型。

d)返回值

返回模块的属性列表。

e)实例
print("dir():",dir())   #  获得当前模块的属性列表
print("dir([ ]):",dir([ ]))    # 查看列表的方法

运行结果:

dir(): ['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']
dir([ ]): ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

18、divmod()

a)描述

原文:
Return the tuple (x//y, x%y). Invariant: div*y + mod == x.
中文:
返回元组(x//y,x% y)。 不变: Div = y = 模式 = = x。
诠释:
divmod() 函数接收两个数字类型(非复数)参数,返回一个包含商和余数的元组(a // b, a % b)。

b)语法

divmod() 语法:divmod(a, b)

c)参数

a:数字,非复数。
b:数字,非复数。
如果参数 a 与 参数 b 都是整数,函数返回的结果相当于 (a // b, a % b)。
如果其中一个参数为浮点数时,函数返回的结果相当于 (q, a % b),q 通常是 math.floor(a / b),但也有可能是 1 ,比小,不过 q * b + a % b 的值会非常接近 a。
如果 a % b 的求余结果不为 0 ,则余数的正负符号跟参数 b 是一样的,若 b 是正数,余数为正数,若 b 为负数,余数也为负数,并且 0 <= abs(a % b) < abs(b)。

d)返回值

返回一个包含商和余数的元组(a // b, a % b)

e)实例
print("divmod(7, 2):",divmod(7, 2))
print("divmod(8, 2):",divmod(8, 2))
print("divmod(8, -2):",divmod(8, -2))
print("divmod(3, 1.3):",divmod(3, 1.3))

运行结果:

divmod(7, 2): (3, 1)
divmod(8, 2): (4, 0)
divmod(8, -2): (-4, 0)
divmod(3, 1.3): (2.0, 0.3999999999999999)

19、enumerate()

a)描述

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

b)语法

enumerate() 方法的语法:enumerate(sequence, [start=0])

c)参数

sequence:一个序列、迭代器或其他支持迭代对象。
start:下标起始位置。

d)返回值

返回 enumerate(枚举) 对象。

e)实例
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
list(enumerate(seasons))
list(enumerate(seasons, start=1))       # 小标从 1 开始
# 普通的 for 循环
print("普通的 for 循环:")
i = 0
seq = ['one', 'two', 'three']
for element in seq:
    print(i, seq[i])
    i += 1
# for 循环使用 enumerate
print("for 循环使用 enumerate:")
seq = ['one', 'two', 'three']
for i, element in enumerate(seq):
    print(i, seq[i])

运行结果:

list(enumerate(seasons)): [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
list(enumerate(seasons, start=1)): [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
普通的 for 循环:
0 one
1 two
2 three
for 循环使用 enumerate:
0 one
1 two
2 three

20、eval()

a)描述

原文:
Evaluate the given source in the context of globals and locals.
The source may be a string representing a Python expression or a code object as returned by compile().
The globals must be a dictionary and locals can be any mapping, defaulting to the current globals and locals.
If only globals is given, locals defaults to it.
中文:
在全局变量和局部变量的上下文中计算给定的源。
源可以是表示Python表达式的字符串,也可以是compile()返回的代码对象。
全局变量必须是字典,局部变量可以是任何映射,默认为当前全局变量和局部变量。
如果只提供全局变量,则局部变量默认为全局变量。
诠释:
eval() 函数用来执行一个字符串表达式,并返回表达式的值。

b)语法

eval() 方法的语法:eval(expression[, globals[, locals]])

c)参数

expression:表达式。
globals:变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
locals:变量作用域,局部命名空间,如果被提供,可以是任何映射对象。

d)返回值

返回表达式计算结果。

e)实例
x = 7
print("eval('3 * x'):",eval('3 * x'))
print("eval('pow(2,2)'):",eval('pow(2,2)'))
print("eval('2 + 2'):",eval('2 + 2'))
n = 81
print("eval('n + 4'):",eval('n + 4'))

运行结果:

eval('3 * x'): 21
eval('pow(2,2)'): 4
eval('2 + 2'): 4
eval('n + 4'): 85
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343

推荐阅读更多精彩内容