Python内置函数

一、常用内置函数之一

help()     #查看帮助文档
dir()      #返回list,查看当前文件或对象的所有方法和变量名
vars()     #返回dict,查看当前文件的所有变量名和对应的值,dir()的返回值是vars的key
import     #调用模块,在一个文件中多次调用同一个模块,该模块只会执行一次
reload()   #在import之后,可强制再执行一次模块
type()     #返回变量的数据类型
map()      #map(function, iter),返回function(iter[i]),结果是一个map类型,可用list()转化
filter()   #只返回函数值为True的参数
reduce()   #累加
zip()      #相当于求一个矩阵的逆,将列变成行
eval()     #将字符串当成有效的表达式来求值并返回计算结果,或者将字符串转化为相应的对象
enumerate()#对于可迭代对象,返回每个元素的下标和对应元素
————————————————————————————————

在一个文件中多次导入同一个模块,该模块只会执行一次

from imp import reload
import file  #导入file模块
import file  #前面两个import只会执行一次file模块
reload(file) #再次执行file模块
———————————————————————————————–

map(function, iter),结果是map对象,可用list转化

1、当function的参数只有一个时,返回function( iter[i] )
2、当function的参数大于一个时,需要传入与参数相同个数的迭代器,返回function(iter1[i], iter2[i], …)

def func1(x):
    return x**2

def func2(x, y, z):
    return x+y+z

iter1 = [1,2,3]
iter2 = (10,20,30)
iter3 = iter([100,200,300])

a = map(func1, iter1)
b = map(func2, iter1, iter2, iter3) #可迭代对象都可以作为入参

打印a、b的类型和元素:

>>> type(a)
<class ‘map’>
>>> type(b)
<class ‘map’>
>>> list(a)
[1, 4, 9]
>>> list(b)
[111, 222, 333]
———————————————————————————————

filter(function, iter),结果是filter对象,可用list转化

>>> a = filter(lambda x:True if x>0 else False, [1,2,-1,0])
>>> print(list(a))
[1, 2]
———————————————————————————————

reduce(function, iter), 每次取两个值作为入参,再将函数返回值作为下一次循环的其中一个入参

>>> from functools import reduce
>>> b = reduce(lambda x, y: x+y, (1, 2, 3, 4))
>>> c = reduce(lambda x, y: x*y, [1, 2, 3, 4, 5])
>>> print(b,c)
10 120
———————————————————————————————

zip(iter1,iter2, …),结果是zip对象,可用list转化

>>> a = zip([1, 2, 3], [4, 5, 6], [7, 8, 9])
>>> print(list(a))
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
———————————————————————————————

eval(str),将字符串当成有效的表达式来求值并返回计算结果,或者将字符串转化为相应的对象

>>> str1 = ’10*2′
>>> print(eval(str1))
20

>>> str2 = ‘[1,2,3]’
>>> a = eval(str2); print(a,type(a))
[1, 2, 3] <class ‘list’>

>>> str3 ="{1: ‘A’, 2: ‘B’}"
>>> b = eval(str3); print(b, type(b))
{1: ‘A’, 2: ‘B’} <class ‘dict’>
———————————————————————————————

enumerate(iter, index =0),遍历可迭代对象,返回该对象的每一个元素下标及对应元素。 下标默认从0开始

>>> dict1 = {}
>>> for k,v in enumerate([‘a’, ‘b’, ‘c’, ‘d’], 2):
        dict1[k]=v

>>> print(dict1)
{2: ‘a’, 3: ‘b’, 4: ‘c’, 5: ‘d’}
———————————————————————————————

二、常用内置函数之二

all()   #入参为可迭代类型(如list,tuple,dict等),元素全部为真时,返回True;否则返回False
any()   #元素全部为假时,返回False;否则返回True

abs()   #求绝对值
pow()   #开N次方
sum()   #求和
divmod()#参数分别为被除数、除数;返回一个元组,保存商和余数
max()   #求最大值
min()   #求最小值

len()   #对容器类型的参数,len()返回元素个数;对字符串,返回占用的字节长度
chr()   #ascii码转化为字符
ord()   #字符转化为ascii码
hex()   #16进制
bin()   #2进制
oct()   #8进制

发表回复