1. abs()
语法:
abs( x )
参数:
- x -- 数值表达式,可以是整数,浮点数,复数。
返回值:
- 函数返回 x()的绝对值,如果参数是一个复数,则返回它的大小。
实例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
print("abs(-40) : ", abs(-40))
>>>abs(-40) : 40
print("abs(100.10) : ", abs(100.10))
>>>abs(100.10) : 100.1
2. all()
语法:
all(iterable)
参数:
- iterable -- 可迭代对象(列表或元组)。
返回值:
- 如果iterable存在0,‘ ’,或False等元素,all(iterable)返回False,否则返回True;
注意:所以空元组、空列表返回值为True,这里要特别注意。
实例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
>>> all(['a', 'b', '', 'd']) # 列表list,存在一个为空的元素
False
>>> all([0, 1,2, 3]) # 列表list,存在一个为0的元素
False
>>> all(('a', 'b', '', 'd')) # 元组tuple,存在一个为空的元素
False
>>> all((0, 1, 2, 3)) # 元组tuple,存在一个为0的元素
False
>>> all(('a', 'b', 'c', 'd')) # 元组tuple,元素都不为空或0
True
>>> all(['a', 'b', 'c', 'd']) # 列表list,元素都不为空或0
True
>>> all([]) # 空列表
True
>>> all(()) # 空元组
True
3. any()
语法:
any(iterable)
参数:
- iterable -- 元组或列表
返回值:
- 如果iterable中的存在不是空、0、false三者之一的元素,则返回True,否则返回False。
实例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
>>>any(['a', 'b', 'c', 'd']) # 列表list,元素都不为空或0
True
>>> any(['a', 'b', '', 'd']) # 列表list,存在一个为空的元素
True
>>> any(('a', 'b', 'c', 'd')) # 元组tuple,元素都不为空或0
True
>>> any(('a', 'b', '', 'd')) # 元组tuple,存在一个为空的元素
True
>>> any([0, '', False]) # 列表list,元素全为0,'',false
False
>>> any((0, '', False)) # 元组tuple,元素全为0,'',false
False
>>> any([]) # 空列表
False
>>> any(()) # 空元组
False
4. ascii()
语法:
ascii(object)
参数:
- object -- 对象。
返回值:
- 返回一个表示该对象的字符串
实例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
>>> ascii('hello,world!')
"'hello,world!'"
6. bool()
语法:
bool(x)
参数:
- x -- 要进行转换的参数
返回值:
- 判断一个参数对象True还是False,其中只有0,False,None,‘ ’或者没有参数返回 False,其余返回True。
实例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
>>>bool()
False
>>> bool(0)
False
>>> bool(“”)
False
>>>bool(None)
False
>>> bool(1)
True
>>>bool('a')
True
>>>bool(True)
True
>>> issubclass(bool, int) # bool 是 int 子类
True
7. bytes()
语法:
class bytes([source[, encoding[, errors]]])
参数:
- 如果 source 为整数,则返回一个长度为 source 的初始化数组;
- 如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列;
- 如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数;
- 如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray。
- 如果没有输入任何参数,默认就是初始化数组为0个元素。
返回值:
- 返回一个新的 bytes 对象。
实例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
>>>bytes()
b''
>>>bytes(2)
b'\x00\x00'
>>>bytes([1,2,3,4])
b'\x01\x02\x03\x04'
>>> bytes('hello','ascii')
b'hello'
8. callable()
语法:
callable(object)
参数:
- object -- 对象。
返回值:
- 可调用返回 True,否则返回 False。
- 如果返回 True,object 仍然可能调用失败;但如果返回 False,调用对象 object 绝对不会成功。对于函数、方法、lambda 函式、 类以及实现了 __call__ 方法的类实例, 它都返回 True。
实例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
>>>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
>>> class B:
... def __call__(self):
... return 0
...
>>> callable(B)
True
>>> b = B()
>>> callable(b) # 实例实现 __call__, 返回 True
True
>>> a = A()
>>> callable(a) # 实例没有实现 __call__, 返回 False
False
9. chr()
语法:
chr(i)
参数:
- i -- 可以是 10 进制也可以是 16 进制的形式的数字,数字范围为 0 到 1,114,111 (16 进制为0x10FFFF)。
返回值:
- 返回值是当前整数对应的 ASCII 字符。
实例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
>>>chr(0x30)
'0'
>>> chr(97)
'a'
>>> chr(8364)
'€'
10. @classmethod
语法:
@classmethod
参数:
- 无
返回值:
- 返回函数的类方法
- classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。
实例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
class A(object):
bar = 1
def func1(self):
print ('foo')
@classmethod
def func2(cls):
print ('func2')
print (cls.bar)
cls().func1() # 调用 foo 方法
A.func2() # 不需要实例化
11. compile()
语法:
compile(source, filename, mode[, flags[, dont_inherit]])
参数:
- source -- 字符串或者AST(Abstract Syntax Trees)对象。。
- filename -- 代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。
- mode -- 指定编译代码的种类。可以指定为 exec, eval, single。
- flags -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。。
- flags和dont_inherit是用来控制编译源码时的标志
返回值:
- 返回表达式执行结果。
实例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
>>> str = "3 * 4 + 5"
>>> a = compile(str,'','eval')
>>> eval(a)
17
12. delattr()
语法:
delattr(object, name)
参数:
- object -- 对象。
- name -- 必须是对象的属性。
返回值:
- 无
实例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
>>>class Coordinate:
... x = 10
>>>point1 = Coordinate()
>>>print('x = {}'.format(point1.x))(
x = 10
>>>delattr(Coordinate, 'x')
>>>print('--删除x属性后--')
--删除x属性后--
# 触发错误
>>>print('x = {}'.format(point1.x))
Traceback (most recent call last):
File "test.py", line 22, in <module>
print('z = ',point1.z)
AttributeError: Coordinate instance has no attribute 'z'
13. zip()
语法:
zip([iterable, ...])
参数:
- iterabl -- 一个或多个迭代器
返回值:
- 返回一个对象
实例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
>>> zipped = zip([1,2,3],[4,5,6]) # 返回一个对象
>>> zipped
<zip object at 0x103abc288>
>>> list(zipped) # list() 转换为列表
[(1, 4), (2, 5), (3, 6)]
>>> list(zip(a,c)) # 元素个数与最短的列表一致
[(1, 4), (2, 5), (3, 6)]
>>> a1, a2 = zip(*zip([1,2,3],[4,5,6])) # 与 zip 相反,zip(*) 可理解为解压,返回二维矩阵式
>>> list(a1)
[1, 2, 3]
>>> list(a2)
[4, 5, 6]
14. dict()
语法:
class dict(**kwarg)
class dict(mapping, **kwarg)
class dict(iterable, **kwarg)
参数:
- **kwargs -- 关键字
- mapping -- 元素的容器。
- iterable -- 可迭代对象。
返回值:
- 返回一个字典
实例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
>>>dict() # 创建空字典
{}
>>> dict(a='a', b='b', t='t') # 传入关键字
{'a': 'a', 'b': 'b', 't': 't'}
>>> dict(zip(['one', 'two', 'three'], [1, 2, 3])) # 映射函数方式来构造字典
{'three': 3, 'two': 2, 'one': 1}
>>> dict([('one', 1), ('two', 2), ('three', 3)]) # 可迭代对象方式来构造字典
{'three': 3, 'two': 2, 'one': 1}
>>>