用于返回数字的绝对值。python
语法:abs( x ) x -- 数值表达式,能够是整数,浮点数,复数。
a = 3.14 b = -7.36 print(abs(a)) # 3.14 print(abs(b)) # 7.36
用于判断给定的可迭代参数中的全部元素是否都为True,若是都为True则返回True,只要有一个为False则返回False。git
通常来讲,除了0、空、None 、False等值外都算True。
语法: all(iterable) iterable -- 元组或列表
判断可迭代参数中的全部元素是否都为True:express
a = [] b = () c = (1, 2, "", 3) d = [0, 1, 2] print(all(a)) # True, 空列表返回值为True print(all(b)) # True, 空元组返回值为True print(all(c)) # False, 有一个空元素 print(all(d)) # False, 有一个元素0
注意:空元组、空列表返回值为True。
用于判断给定的可迭代参数是否所有为 False,若是所有为False,则返回False。若是有一个为True,则返回True。app
语法: any(iterable) iterable -- 元组或列表
a = ['x', 'k', 'd'] b = ['', 123, "kk"] c = (0, '', False) d = ('xkd', 0, 123) print(any(a)) # True print(any(b)) # True,一个为空,也返回True print(any(c)) # False,都为False才返回False print(any(d)) # True,一个为0,也返回True
返回对象的类型。ide
语法: type(object)
a = 123 b = 'xkd' c = [1, 2, 3] d = (1, 2, 3) print(type(a)) # <class 'int'> print(type(b)) # <class 'str'> print(type(c)) # <class 'list'> print(type(d)) # <class 'tuple'>
用于获取对象的内存地址。函数
语法:id(object)
a = 123 b = 'xkd' print(id(a)) # 8791098294336 print(id(b)) # 31265904
返回任何对象的可读版本,将使用转义字符替换任何非ascii字符。ui
语法:ascii(object) object -- 对象
a = "xkd" b = "侠课岛" print(ascii(a)) # 'xkd' print(ascii(b)) # '\u4fa0\u8bfe\u5c9b'
返回指定整数的二进制版本,结果将以0b
为前缀开头。编码
语法: bin(number) number -- int整型或者long int长整型
a = 100 b = 1000 print(bin(a)) # 0b1100100 print(bin(b)) # 0b1111101000
用于将一个字符串或数字转换为整型。code
语法:int(n, base=10) n -- 字符串或数字 base -- 进制数,默认十进制
a = 1.02 b = '123' print(int(a)) # 1 print(int(b)) # 123 print(int()) # 没有参数时,输出结果为0
将指定的值转换为字符串。orm
语法: str(object, encoding=encoding, errors=errors)
a = 123 print(type(a)) # <class 'int'> new_a = str(a) print(new_a, type(new_a)) # 123 <class 'str'>
返回指定对象的布尔值,若是没有参数,则返回 False。
语法: bool(object)
print(bool(0)) # False print(bool(1)) # True print(bool()) # False,不带参返回False
建立一个列表对象。列表对象是有序且可更改的集合。
语法:list(iterable)
# 字符串 a = "str" lst = list(a) print(lst, type(lst)) # ['s', 't', 'r'] <class 'list'> # 元组 tup = (1, 2, 3) lst1 = list(tup) print(lst1, type(lst1)) # [1, 2, 3] <class 'list'>
建立一个元组对象。
语法: tuple(iterable)
lst = ['a', 'b'] tup = tuple(lst) print(tup, type(tup)) # ('a', 'b') <class 'tuple'>
建立一个字典。
语法: class dict(**kwarg) class dict(mapping, **kwarg) class dict(iterable, **kwarg) **kwargs -- 关键字 mapping -- 元素的容器 iterable -- 可迭代对象
# 定义空字典 dic = dict() dic1 = dict(a=1, b=2, c=3) # 传入关键字 print(dic1) # {'a': 1, 'b': 2, 'c': 3} dic2 = dict([('a', 1), ('b', 2), ('c', 3)]) # # 可迭代对象方式来构造字典 print(dic2) # {'a': 1, 'b': 2, 'c': 3} dic3 = dict(zip(['a', 'b', 'c'], [1, 2, 3])) # 映射函数方式来构造字典 print(dic3) # {'a': 1, 'b': 2, 'c': 3}
能够将对象转换为bytearray对象,或者建立指定大小的空bytearray对象。
语法: bytearray(x, encoding, error) x -- 若是是整数,则将建立指定大小的空bytearray对象。若是是字符串,则按照指定的encoding将字符串转换为字节序列。 encoding -- 字符串的编码 error -- 指定编码失败时要执行的操做
print(bytearray()) # bytearray(b'') print(bytearray(10)) # bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') print("xkd") # xkd print(bytearray([1, 2, 3])) # bytearray(b'\x01\x02\x03')
能够将对象转换为字节对象,或建立指定大小的空字节对象。返回一个bytes对象。
语法: bytes(x, encoding, error)
a = bytes([1, 2, 3]) b = bytes("xkd", "ascii") print(a, type(a)) # b'\x01\x02\x03' <class 'bytes'> print(b, type(b)) # b'xkd' <class 'bytes'>
用于检查一个函数是否可调用。若是指定的对象是可调用的,则返回True,不然返回False。
语法: callable(object)
a = 'xkd' def b(): pass print(callable(a)) # False print(callable(b)) # True
用一个整数做参数,返回一个对应的字符。
语法: chr(n) n -- 表示有效Unicode码位的整数
a = 97 b = 1000 print(chr(a)) # a print(chr(b)) # Ϩ
classmethod 修饰符对应的函数不须要实例化,不须要 self 参数,但第一个参数须要是表示自身类的 cls 参数,能够来调用类的属性,类的方法,实例化对象等。
语法: classmethod
class Test(): n = 1 def show1(self): print("show1") @classmethod def show2(cls): print("show2") print(cls.n) cls().show1() # 调用show1方法 Test.show2() ''' show2 1 show1 '''
将一个字符串编译为字节代码。
语法: compile(source, filename, mode, flag, dont_inherit, optimize) source -- 字符串或者AST对象 filename -- 代码文件名称,若是不是从文件读取代码则传递一些可辨认的值 mode -- 指定编译代码的种类。能够指定为 exec, eval, single flags -- 变量做用域,局部命名空间,若是被提供,能够是任何映射对象 flags和dont_inherit是用来控制编译源码时的标志。
com = compile('print(10)', 'test', 'exec') print(com) # <code object <module> at 0x000000000219BDB0, file "test", line 1> exec(com) # 10
用于建立一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。若是第一个参数为字符串,则不须要指定第二个参数。
语法: complex(real, imaginary) real -- int, long, float或字符串 imag -- int, long, float
a = complex("1+2j") # 注意+号两边不能有空格,不然会报错 print(a) # (1+2j) b = complex(1, 2) print(b) # (1+2j) c = complex("1") # 若是第一个参数为字符串,则不须要指定第二个参数。 print(c) # (1+0j) d = complex("2j") print(d) # 2j
用于返回指定对象的指定属性的值。
语法: getattr(object, attribute, default) object -- 对象。 attribute -- 字符串,对象属性。 default -- 默认返回值,若是不提供该参数,在没有对应属性时,将触发 AttributeError
class Test: id = 1 name = "NiNi" age = 18 sex = 'woman' result = getattr(Test, 'age') print(result) # 18
设置指定对象的指定属性的值。
语法: setattr(object, attribute, value) object -- 对象 attribute -- 字符串,对象属性 value -- 属性值
class Test: id = 1 name = "Angle" age = 18 print(Test.age) # 18 setattr(Test, 'age', 20) print(Test.age) # 20
从指定的对象中删除指定的属性。delattr(x, 'foobar')
相等于 del x.foobar
。
语法: delattr(object, name) object -- 对象 name -- 必须是对象的属性
class Test: id = 1 name = "NiNi" age = 18 sex = 'woman' print(Test.age) # 18 # 删除age属性 delattr(Test, 'age') print(Test.age) # AttributeError: type object 'Test' has no attribute 'age'
用于判断对象是否包含对应的属性。
语法: hasattr(object, attribute) object -- 对象 name -- 字符串,属性名
class Test: id = 1 name = "NiNi" age = 18 sex = 'woman' result = hasattr(Test, "age") print(result) # True result1 = hasattr(Test, "kind") print(result1) # False
返回指定对象的全部属性和方法,而不返回值。此函数将返回全部属性和方法,甚至是全部对象的默认内置属性。
语法: dir(object) object -- 对象、变量、类型
print(dir()) # 得到当前模块的属性列表 # ['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']
接收两个数字类型(非复数)参数,返回一个包含商和余数的元组(a // b, a % b)。
语法: divmod(divident, divisor) divident -- 数字,非复数 divisor -- 数字,非复数
print(divmod(7, 3)) # (2, 1) print(divmod(8, 4)) # (2, 0) print(divmod(9, -3)) # (-3, 0)
用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,通常用在 for 循环当中。
语法: enumerate(sequence, start) iterable -- 一个序列、迭代器或其余支持迭代对象 start -- 下标起始位置
tup = ('x', 'k', 'd') for i in enumerate(tup): print(i) ''' (0, 'x') (1, 'k') (2, 'd') '''
lst = ['a', 'b', 'c'] for i in enumerate(lst): print(i) ''' (0, 'a') (1, 'b') (2, 'c') '''
用来执行一个字符串表达式,并返回表达式的值。
语法: eval(expression, globals, locals) expression -- 表达式 globals -- 变量做用域,全局命名空间,若是被提供,则必须是一个字典对象 locals -- 变量做用域,局部命名空间,若是被提供,能够是任何映射对象
a = 10 print(eval('a + 1')) # 11 eval('print(a+1)') # 11
exec 执行储存在字符串或文件中的 Python 语句,相比于 eval,exec能够执行更复杂的 Python 代码。
语法: exec(object, globals, locals) object -- 表示须要被指定的Python代码 globals -- 表示全局命名空间,存放全局变量。若是被提供,则必须是一个字典对象 locals -- 表示当前局部命名空间,存放局部变量。若是被提供,能够是任何映射对象
# 单行语句字符串 exec('print("xkd")') # xkd # 多行语句字符串 exec("""for i in range(5): print (i) """) ''' 输出: 0 1 2 3 4 '''
根据提供的函数对指定序列作映射。
语法:map(function, iterable, ...) function -- 函数 iterable -- 一个或多个序列
def test(n): return n lst = ['x', 'k', 'd'] result = map(test, lst) print(result) # <map object at 0x0000000001E99648> for i in result: print(i) ''' x k d '''
用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,若是要转换为列表,能够使用 list() 来转换。
语法: filter(function, iterable) function -- 判断函数 iterable -- 可迭代对象
def show(x): if x > 5: return True else: False result = filter(show, range(10)) for i in result: print(i) ''' 6 7 8 9 '''
用于将整数和字符串转换成浮点数。
语法: float(value) value -- 整数或字符串
# 整数 print(float(10)) # 10.0 # 字符串 print(float('20')) # 20.0
将指定的值格式化为指定的格式。
语法: format(value, format)
# 默认顺序 print("{}{}".format("hello", "xkd")) # xkd # 指定位置 print("{0}{1}{2}".format("x", "k", "d")) # xkd print("{1}{0}{2}".format("x", "k", "d")) # kxd print("{2}{1}{0}".format("x", "k", "d")) # dkx
返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。
语法: frozenset(iterable) iterable -- 可迭代的对象,好比列表、字典、元组等
print(frozenset('xkd')) # frozenset({'k', 'd', 'x'}) print(frozenset(range(5))) # frozenset({0, 1, 2, 3, 4}) print(frozenset([0, 1, 2, 3])) # frozenset({0, 1, 2, 3})
会以字典类型返回当前位置的所有全局变量。
语法: globals()
x = globals() # globals 函数返回一个全局变量的字典,包括全部导入的变量 print(x) # {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x0000000002101388>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'C:/Users/lu/PycharmProjects/haha/eefile/test.py', '__cached__': None, 'x': {...}}
用于判断对象是否包含对应的属性。
语法: hash(object)
# 整数 print(hash(10)) # 10 # 字符串 print(hash('xkd')) # -5490875864724092212 # 集合 print(hash(str([1, 2, 3]))) # 8155134905582437262 # 字典 print(hash(str(sorted({'a': 1})))) # -7283481375873243607
repr() 函数将对象转化为供解释器读取的形式。
语法: repr(object)
a = "xkd" print(repr(a)) # 'xkd' lst = [1, 2, 3] print(repr(lst)) # [1, 2, 3]
返回一个浮点数,它是指定数字的舍入版本(四舍五入),具备指定的小数位数。默认的小数位数为0,表示该函数将返回最接近的整数。
语法: round(number, digits) number -- 数字表达式 digits -- 表示从小数点位数,其中number须要四舍五入,默认值为0
print(round(3.1415926, 3)) # 3.142 print(round(3.52)) # 4
返回一个数字序列,默认状况下从0开始,并递增1(默认状况下),并以指定的数字结束。
语法: range(start, stop, step) start -- 计数从 start 开始,默认是从 0 开始 stop -- 计数到 stop 结束,但不包括 stop step -- 步长,默认为1
# 建立一个列表 print(list(range(10))) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] for i in range(5): print(i) # 0 1 2 3 4 for i in range(0, 5, 2): print(i) # 0 2 4
返回具备最低值的项,或具备可迭代值中最低值的项。
语法:min(n1, n2, n3, ...)
lst = [1, 5, 74, 3, 42] print(min(lst)) # 1 print(min(3, 8, 36)) # 3
返回具备最高值的项目,或具备可迭代值中具备最高值的项目。若是值是字符串,则按字母顺序进行比较。
语法:max(n1, n2, n3, ...)
lst = [1, 5, 74, 3, 42] print(max(lst)) # 74 print(max(3, 8, 36)) # 36
用于在迭代中进行求和计算。
语法: sum(iterable, start) iterable -- 可迭代对象 start -- 指定相加的参数,若是没有设置这个值,默认为0
a = [0, 1, 2, 3, 4, 5] print(sum(a)) # 15 # 列表计算总和后,再加10 print(sum(a, 10)) # 25