1. abs()
语法:abs( x )
参数:x 为 数值,包括整数,浮点数,复数及其表达式。
返回值:如果x是数字,则返回x的绝对值,如果x是复数,则返回它的模。
示例:
print(abs(-8.123))
print(abs(3+4j))
结果为:
8.123
5.0
2. all()
描述:判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。
元素除了是 0、空、None、False 外都算 True。
语法:all(iterable)
参数:iterable 为 元组或列表
返回值:如果iterable的元素中没有0、‘’、False或者iterable为空,all(iterable)返回True,否则返回False。
注意:空元组、空列表返回值为True,这里要特别注意。
示例:
>>> all(['a', 'b', 'c', 'd']) # 列表list,元素都不为空或0
True
>>> all(['a', 'b', '', 'd']) # 列表list,存在一个为空的元素
False
>>> all([0, 1,2, 3]) # 列表list,存在一个为0的元素
False
>>> all([4,None,5]) # 列表list,存在一个为None的元素
False
>>> all(('a', 'b', 'c', 'd')) # 元组tuple,元素都不为空或0
True
>>> all(('a', 'b', '', 'd')) # 元组tuple,存在一个为空的元素
False
>>> all((0, 1, 2, 3)) # 元组tuple,存在一个为0的元素
False
>>> all((4,None,5)) # 列表tuple,存在一个为None的元素
False
>>> all([]) # 空列表
True
>>> all(()) # 空元组
True
3. any()
描述:判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。
元素除了是None、0、空、FALSE 外都算 TRUE。
语法:any(iterable)
参数:iterable 为 元组或列表
返回值:如果都为空、0、false,则返回false,如果不都为None、0、空、FALSE,则返回true。
注意:空元组、空列表返回值为False,这里要和all()函数区分。
示例:
>>>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
4. ascii()
描述:ascii() 函数类似 repr() 函数, 返回一个表示对象的字符串, 但是对于字符串中的非 ASCII 字符则返回通过 repr() 函数使用 \x, \u 或 \U 编码的字符。 生成字符串类似 Python2 版本中 repr() 函数的返回值。
语法:ascii(object)
参数:object 为 对象名。
返回值:字符串
示例:
>>> ascii('hello')
"'hello'"
>>> ascii(55)
'55'
5. bin()
描述:返回一个整数 int 或者长整数 long int 的二进制表示。
语法:bin(x)
参数:x 为 int 或者 long int 数字
返回值:字符串
示例:
>>>bin(10)
'0b1010'
>>> bin(20)
'0b10100'
6. bool()
描述:用于将给定参数转换为布尔类型,如果没有参数,返回 False。bool 是 int 的子类。
语法:bool(x)
参数:x 为 要进行转换的参数。
返回值:True 或 False。
示例:
>>>bool()
False
>>> bool(0)
False
>>> bool(1)
True
>>> bool(2)
True
>>> issubclass(bool, int) # bool 是 int 子类
True
7. bytearray()
描述:返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256。
语法:bytearray(source,encoding,error)
参数:
- source
为待转化的元素,
如果 source 为整数,则返回一个长度为 source 的初始化数组,
如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列,
如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数,
如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray,
如果没有输入任何参数,默认就是初始化数组为0个元素。 - encoding
若source 为字符串,则encoding参数必须存在(为utf-8,gbk,Latin-1等编码格式);若为b’xxx’,则encoding参数不需要 - error
用于设置错误处理方案,如果 error 为空,使用默认方案 ‘strict’——该方案在出现编码错误时会抛出 UnicodeError。error 可以是 ‘ignore’, ‘replace’, ‘xmlcharrefreplace’, ‘backslashreplace’ 或任何已通过 codecs.register_error() 注册的名称。
返回值:返回新字节数组。
示例:
>>> bytearray(2)
bytearray(b'\x00\x00')
>>> bytearray('hello', 'utf-8')
bytearray(b'hello')
>>> bytearray([1,2,3])
bytearray(b'\x01\x02\x03')
>>> bytearray()
bytearray(b'')
8. bytes()
描述:返回一个新的 bytes 对象,该对象是一个 0 <= x < 256 区间内的整数不可变序列。它是 bytearray 的不可变版本。
语法:bytes(source,encoding,error)
参数:同bytearray()
返回值:返回一个新的 bytes 对象。
示例:
>>> bytes([1,2,3])
b'\x01\x02\x03'
>>> bytes('hello', 'utf-8')
b'hello'
9. callable()
描述:用于检查一个对象是否是可调用的。如果返回 True,object 仍然可能调用失败;但如果返回 False,调用对象 object 绝对不会成功。
对于函数、方法、lambda 函式、 类以及实现了 call 方法的类实例, 它都返回 True。
语法:callable(object)
参数:object 为 对象名
返回值:可调用返回 True,否则返回 False。
示例:
>>>callable(0)
False
>>> callable("hello")
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
>>> b = B()
>>> callable(b) # 实现 __call__, 返回 True
True
10. chr()
描述:用一个范围在0~255的整数作参数,返回它对应的字符。
语法:chr(x)
参数:x 可以是10进制也可以是16进制形式的数字。
返回值:如果有对应的显式字符,则返回相应字符,如果没有,则返回对应16进制。
示例:
>>> chr(14) # 没有显式字符
'\x0e'
>>> chr(0xf)
'\x0f'
>>> chr(127)
'\x7f'
>>> chr(64) # 有显式字符
'@'
>>> chr(90)
'Z'
>>> chr(227)
'ã'
11. classmethod
描述:classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。
语法:@classmethod
参数:无
返回值:返回函数的类方法
示例:
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
12. compile()
描述:将一个字符串编译为字节代码,可以由exec()或eval()执行…。
语法:compile(source, filename, mode, flags=0, dont_inherit=False)
参数:
- source:表示Python模块、语句或表达式。
- filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。
- mode:指定编译代码的种类。可以指定为 exec, eval, single。
- flags:变量作用域,控制哪些语句会影响代码的编译。
- dont_inherit:如果为真,则停止编译,继承代码调用中任何未来语句的效果。
返回值:返回表达式执行结果。
示例:
>>>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