Python内置函数

Python内置函数(2)

2020-02-18  本文已影响0人  复苏的兵马俑

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
上一篇下一篇

猜你喜欢

热点阅读