python内置函数
Posted 耗油炒白菜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python内置函数相关的知识,希望对你有一定的参考价值。
vars()和类方法下的__dict__效果相同
//描述 abs() 函数返回数字的绝对值。 //语法 以下是 abs() 方法的语法: abs( x ) //参数 x -- 数值表达式,可以是整数,浮点数,复数。 //返回值 函数返回 x(数字)的绝对值,如果参数是一个复数,则返回它的大小。 //实例 以下展示了使用 abs() 方法的实例: #!/usr/bin/python3 print ("abs(-40) : ", abs(-40)) #负数 print("abs(2-3):",abs(2-3)) #表达式 以上实例运行后输出结果为: abs(-40) : 40 abs(2-3) 1
//描述 all() 函数用于判断给定的可迭代对象 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。 元素除了是 0、空、FALSE 外都算 TRUE。 函数等价于: def all(iterable): for element in iterable: if not element: return False return True Python 2.5 以上版本可用。 //语法 以下是 all() 方法的语法: all(iterable) //参数 iterable -- 元组或列表。 //返回值 如果iterable的所有元素不为0、\'\'、False,all(iterable)返回True,否则返回False; 注意:空元组、空列表返回值为True,这里要特别注意。 //实例 以下展示了使用 all() 方法的实例: print(all([\'a\',\'b\',\'c\',\'d\'])) #True print(all([\'a\',\'b\',\'\',\'d\'])) #False print(all([0,1,2,3])) #False print(all(("",1,2,3))) #False print(all({})) #True print(all([])) #True print(all(())) #True
//描述 any() 函数用于判断给定的可迭代参数 iterable 是否全部为 False,是则返回 False,如果有一个为 True,则返回 True。 元素除了是 0、空、FALSE 外都算 TRUE。 函数等价于: def any(iterable): for element in iterable: if element: return True return False Python 2.5 以上版本可用。 //语法 以下是 any() 方法的语法: any(iterable) //参数 iterable -- 元组或列表。 //返回值 如果都为空、0、false,则返回false,如果不都为空、0、false,则返回true。 //实例 以下展示了使用 any() 方法的实例: >>>any([\'a\', \'b\', \'c\', \'d\']) # 列表list,元素都不为空或0 True >>> any([\'a\', \'b\', \'\', \'d\']) # 列表list,存在一个为空的元素 True >>> any([0, \'\', False]) # 列表list,元素全为0,\'\',false False >>> any((\'a\', \'b\', \'c\', \'d\')) # 元组tuple,元素都不为空或0 True >>> any((\'a\', \'b\', \'\', \'d\')) # 元组tuple,存在一个为空的元素 True >>> any((0, \'\', False)) # 元组tuple,元素全为0,\'\',false False >>> any([]) # 空列表 False >>> any(()) # 空元组 False
//描述 ascii() 函数类似 repr() 函数, 返回一个表示对象的字符串, 但是对于字符串中的非 ASCII 字符则返回通过 repr() 函数使用 \\x, \\u 或 \\U 编码的字符。 生成字符串类似 Python2 版本中 repr() 函数的返回值。 //语法 以下是 ascii() 方法的语法: ascii(object) //参数 object -- 对象。 //返回值 返回字符串。 //实例 以下展示了使用 ascii() 方法的实例: >>> ascii([1,2,3]) \'[1, 2, 3]\'
//描述 bin() 返回一个整数 int 或者长整数 long int 的二进制表示。 //语法 以下是 bin() 方法的语法: bin(x) //参数 x -- int 或者 long int 数字 //返回值 字符串。 //实例 以下展示了使用 bin 函数的实例: >>>bin(10) \'0b1010\' >>> bin(20) \'0b10100\'
//描述 bool() 函数用于将给定参数转换为布尔类型,如果没有参数,返回 False。 class bool 是 int 的子类。 0,空字典,空列表。。。都是False,非零为真 //语法 以下是 bool() 方法的语法: bool([x]) //参数 x -- 要进行转换的参数。 //返回值 返回 Ture 或 False。 //实例 以下展示了使用 bool 函数的实例: >>>bool() False >>> bool(0) False >>> bool(1) True >>> bool(2) True >>> issubclass(bool, int) # bool 是 int 子类 True
//描述 bytearray() 方法返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256。 语法 bytearray()方法语法: class bytearray([source[, encoding[, errors]]]) //参数 如果 source 为整数,则返回一个长度为 source 的初始化数组; 如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列; 如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数; 如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray。 如果没有输入任何参数,默认就是初始化数组为0个元素。 //返回值 返回新字节数组。 //实例 以下实例展示了 bytearray() 的使用方法: a=bytearray(12) #为整数 print(a) #回一个长度为12的初始化数组 b=bytearray("abcde",encoding="utf-8") #为字符串 b[0]=99 #修改a为c print(b) c=bytearray([1,2,3]) #为可迭代类型,则元素必须为[0 ,255] 中的整数 print(c) //执行结果依次为 bytearray(b\'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\') bytearray(b\'cbcde\') bytearray(b\'\\x01\\x02\\x03\') //注意正常字节,字符串类型是修改不了的,要修改只能用新的覆盖原先的。但是用bytearray可以修改 a=bytes(\'abcde\',encoding="utf-8") print(a.capitalize(),a) #a.capitalize()首字母大写 b=bytearray("abcde",encoding="utf-8") b[0]=99 print(b) //执行结果 b\'Abcde\' b\'abcde\' bytearray(b\'cbcde\')
//描述 bytes 函数返回一个新的 bytes 对象,该对象是一个 0 <= x < 256 区间内的整数不可变序列。它是 bytearray 的不可变版本。 //语法 以下是 bytes 的语法: class bytes([source[, encoding[, errors]]]) //参数 如果 source 为整数,则返回一个长度为 source 的初始化数组; 如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列; 如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数; 如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray。 如果没有输入任何参数,默认就是初始化数组为0个元素。 //返回值 返回一个新的 bytes 对象。 //实例 以下展示了使用 bytes 的实例: //代码 >>>a = bytes([1,2,3,4]) #为可迭代类型 >>> a b\'\\x01\\x02\\x03\\x04\' >>> type(a) <class \'bytes\'> >>> >>> a = bytes("hello",encoding="utf-8" >>> >>> a b\'hello\' >>> type(a) <class \'bytes\'> >>>
//描述 callable() 函数用于检查一个对象是否是可调用的。如果返回True,object仍然可能调用失败;但如果返回False,调用对象ojbect绝对不会成功。 对于函数, 方法, lambda 函式, 类, 以及实现了 __call__ 方法的类实例, 它都返回 True。 //语法 callable()方法语法: callable(object) //参数 object -- 对象 //返回值 可调用返回 True,否则返回 False。 //实例 以下实例展示了 callable() 的使用方法: >>>callable(0) False >>> callable("runoob") False >>> def add(a, b): ... return a + b ... >>> callable(add) # 函数返回 True True >>> class A: # 类 ... def method(self): ... return 0 ... >>> callable(A) # 类返回 True True >>> a = A() >>> callable(a) # 没有实现 __call__, 返回 False False >>> class B: ... def __call__(self): ... return 0 ... >>> callable(B) True >>> b = B() >>> callable(b) # 实现 __call__, 返回 True True
//描述 chr() 用一个整数作参数,返回一个ASCII码对应的字符。 //语法 以下是 chr() 方法的语法: chr(i) //参数 i -- 可以是 10 进制也可以是 16 进制的形式的数字,数字范围为 0 到 1,114,111 (16 进制为0x10FFFF)。 //返回值 返回值是当前整数对应的 ASCII 字符。 //实例 以下展示了使用 chr() 方法的实例: >>>chr(0x30) \'0\' >>> chr(97) \'a\' >>> chr(8364) \'€\'
//描述 ord() 函数是 chr() 函数(对于 8 位的 ASCII 字符串)的配对函数,它以一个字符串(Unicode 字符)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值。 //语法 以下是 ord() 方法的语法: ord(c) //参数 c -- 字符。 //返回值 返回值是对应的十进制整数。 //实例 以下展示了使用 ord() 方法的实例: >>>ord(\'a\') 97 >>> ord(\'€\') 8364 >>>
描述 classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。 //语法 classmethod 语法: classmethod //参数 无。 //返回值 返回函数的类方法。 //实例 class A(object): # 属性默认为类属性(可以给直接被类本身调用) num = "类属性" # 实例化方法(必须实例化类之后才能被调用) def func1(self): # self : 表示实例化类后的地址id print("func1") print(self) # 类方法(不需要实例化类就可以被类本身调用) @classmethod def func2(cls): # cls : 表示没用被实例化的类本身 print("func2") print(cls) print(cls.num) cls().func1() # 不传递传递默认self参数的方法(该方法也是可以直接被类调用的,但是这样做不标准) def func3(): print("func3") print(A.num) # 属性是可以直接用类本身调用的 # A.func1() 这样调用是会报错:因为func1()调用时需要默认传递实例化类后的地址id参数,如果不实例化类是无法调用的 A.func2() A.func3() //执行结果 func2 <class \'__main__.A\'> 类属性 func1 <__main__.A object at 0x00000000010E8780> func3 类属性
//描述 compile() 函数将一个字符串编译为字节代码。 //语法 以下是 compile() 方法的语法: compile(source, filename, mode[, flags[, dont_inherit]]) //参数 source -- 字符串或者AST(Abstract Syntax Trees)对象。。 filename -- 代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。(没有用可忽略不写) mode -- 指定编译代码的种类。可以指定为 exec, eval, single。 flags -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。。(基本不用) flags和dont_inherit是用来控制编译源码时的标志(基本不用) //返回值 返回表达式执行结果。 //实例 以下展示了使用 compile 函数的实例: >>>str = "for i in range(0,10): print(i)" >>> c = compile(str,\'\',\'exec\') # 编译为字节代码对象 >>> c <code object <module> at 0x10141e0b0, file "", line 1> >>> exec(c) 0 1 2 3 4 5 6 7 8 9 >>> str = "3 * 4 + 5" >>> a = compile(str,\'\',\'eval\') >>> eval(a) 17
//描述 complex() 函数用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数。。 //语法 complex 语法: class complex([real[, imag]]) //参数说明: real -- int, long, float或字符串; imag -- int, long, float; //返回值 返回一个复数。 //实例 以下实例展示了 complex 的使用方法: >>>complex(1, 2) (1 + 2j) >>> complex(1) # 数字 (1 + 0j) >>> complex("1") # 当做字符串处理 (1 + 0j) # 注意:这个地方在"+"号两边不能有空格,也就是不能写成"1 + 2j",应该是"1+2j",否则会报错 >>> complex("1+2j") (1 + 2j)
//描述 delattr 函数用于删除属性。 delattr(x, \'foobar\') 相等于 del x.foobar。 //语法 setattr 语法: delattr(object, name) //参数 object -- 对象。 name -- 必须是对象的属性。 //返回值 无。 //实例 以下实例展示了 delattr 的使用方法: #!/usr/bin/python # -*- coding: UTF-8 -*- 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) 输出结果: (\'x = \', 10) (\'y = \', -5)
//描述 dict() 函数用于创建一个字典。 //语法 dict 语法: class dict(**kwarg) class dict(mapping, **kwarg) class dict(iterable, **kwarg) //参数说明: **kwargs -- 关键字 mapping -- 元素的容器。 iterable -- 可迭代对象。 //返回值 返回一个字典。 //实例 以下实例展示了 dict 的使用方法: >>>dict() # 创建空字典 {} >>> dict(a=\'a\', b=\'b\', t=\'t\') # 利用 dict(([key,value],[key,value])) 的方式创建字典 {\'a\': \'a\', \'b\': \'b\', \'t\': \'t\'} 实例2: //代码 # !/usr/bin/python3 dict0 = dict() # 传一个空字典 print(\'dict0:\', dict0) dict1 = dict({\'three\': 3, \'four\': 4}) # 传一个字典 print(\'dict1:\', dict1) dict2 = dict(five=5, six=6) # 传关键字 print(\'dict2:\', dict2) dict3 = dict([(\'seven\', 7), (\'eight\', 8)]) # 传一个包含一个或多个元祖的列表 print(\'dict3:\', dict3) dict5 = dict(zip([\'eleven\', \'twelve\'], [11, 12])) # 传一个zip()函数 print(\'dict5:\', dict5) 以上实例输出结果为: dict0: {} dict1: {\'four\': 4, \'three\': 3} dict2: {\'five\': 5, \'six\': 6} dict3: {\'seven\': 7, \'eight\': 8} dict5: {\'twelve\': 12, \'eleven\': 11}
//描述 dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。 //语法 dir 语法: dir([object]) //参数说明: object -- 对象、变量、类型。 //返回值 返回模块的属性列表。 //实例 以下实例展示了 dir 的使用方法: >>>dir() # 获得当前模块的属性列表 [\'__builtins__\', \'__doc__\', \'__name__\', \'__package__\', \'arr\', \'myslice\'] >>> 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\', \'以上是关于python内置函数的主要内容,如果未能解决你的问题,请参考以下文章