函数名 | 作用 |
---|---|
abs(a) | 返回a的绝对值,a可以是浮点型、整型,如果是复数就会返回模 |
all(iterable) | 对于可迭代对象的每个元素,如果都是真,则返回True,如果迭代对象无元素,返回True |
any(iterable) | 对于可迭代对象的每个元素,只要有一个是真,则返回True,如果迭代对象无元素,返回False |
bin(num) | 把num转换为二进制的形式,不过返回的是字符串 |
oct()、hex() | 返回值都是字符串 |
int(num[,base=10]) | 如果 x 不是数字,或者有 base 参数,x 必须是字符串 |
complex([m[, n]]) | 返回复数(m+nj),n默认为0,返回(m+0j) |
divmod(a, b) | 返回a除以b的商数和余数 |
eval(str) | 执行str表示的运算操作,返回结果 |
iter(iterable) | |
map(function, iterable…) | |
zip(*iterables) | 参数可以是多个可迭代对象,每次从每个对象抽取一个,组成一个元组,最后是一个元组的列表 |
ord(char) | 返回字符在unicode中的位序数字 |
chr(num) | 返回num位序数字在unicode中代表的字符 |
enumerate(iterable, start=0) | 返回一个枚举对象 |
isinstance(object, classinfo) | 判断后者是不是前者的实例或者(直接间接的)子类(自己也是自己的子类) |
issubclass(class, classinfo) | 仅判断后者是不是前者(直接间接的)子类(自己也是自己的子类) |
round(number[, ndigits]) | |
其他 | max()、min()、len()、input()、help()、open()、range()、reserved()、sorted()、 |
其他 | type()、id()、 |
1、eval()
对纯字符串进行运算
str = " 2 * 4+ 7"
eval(str) #15
x = 1
eval("x+4") #5
2、format()
3、enumerate(iterable, start=0)
将一个可迭代类型生成一个枚举对象,start不代表从第几位开始从列表取,而是从start开始给元素编号。其实也就是给迭代类型数据都加了一个序号。
序号这个东西不是目的,就是一个辅助,主要还是把可迭代对象变成了迭代器,也就是可以使用next()方法,而且返回的有序号和数据本身。
a = range(10)
b = list(enumerate(a))
[(0, 0),
(1, 1),
(2, 2),
(3, 3),
(4, 4),
(5, 5),
(6, 6),
(7, 7),
(8, 8),
(9, 9)]
a = range(10)
b = list(enumerate(a,start=2))
[(2, 0),
(3, 1),
(4, 2),
(5, 3),
(6, 4),
(7, 5),
(8, 6),
(9, 7),
(10, 8),
(11, 9)]```
```python
seq = ['one', 'two', 'three']
for i,j in enumerate(seq): #枚举类型并不是只有转变为列表才能使用
print(i,j)
0 one
1 two
2 three
迭代器的使用
seq = ['one', 'two', 'three']
b = enumerate(seq)
next(b)
#(0, 'one')
4、map(function, iterable, …)
返回一个将 function 应用于 iterable 中每一项并输出其结果的迭代器。 如果传入了额外的 iterable 参数,function 必须接受相同个数的实参并被应用于从所有可迭代对象中并行获取的项。 当有多个可迭代对象时,最短的可迭代对象耗尽则整个迭代就将结束。
map类型的对象一般就是用于生成字典。
a = [1,2,3]
b = [1,2,3,4,4]
c = list(map(lambda x,y:x+y,a,b))#必须转变为list才好打印,不然就是<map at 0x1cff8e7b670>
#[2, 4, 6]
5、sum(iterable,start=num)
这个start不是从可迭代对象的哪个位置开始计算,而是整体计算是在num的基础上进行的。也就是把列表求和之后,再加上一个start
a = [1,1]
print(sum(a,2))
print(sum(a,start=2))
#4
#4