1.函数基础
函数的定义
def 函数名(参数): 函数名命名规则:字母、数字和下划线组成
pass pass表示什么也没有,不执行操作(避免无函数体和返回值报错)
函数体
return 表达式 可以返回任意表达式,但不能是赋值语句,无return,默认为None
注:return和print的区别,return是函数的返回值,可以赋值给变量,用变量接收,而print只能直接打印
函数的调用
函数名(参数)
2.函数参数
参数类型 | 定义 | 调用 |
必备参数 | def fun(x): return x |
fun(3) |
默认参数 | def fun(a,b=None): return a,b |
fun(1) #输出(1,None) fun(1,2) #输出(1,2) |
不定长参数 | def fun(a,*args): #args无长度限制 return a,args |
fun(1,2,3,4) #输出(1,(2,3,4)) |
不定长参数2 | def fun(*args,**kwargs): #kwargs是字典 return args,kwargs |
fun(1,2,a=3,b=4) #输出((1,2),{'a':3,'b':4}) |
3.常见内置函数
dir(object) 查看object类型的内置函数(list,tumple和str)
type(object) 查看object的类型
isinstance(name,object) 判断name是否为object类型,返回True或False
len(object) 返回object的长度
min 求最小值
max 求最大值
sorted() 升序排序
reversed() 反向
sum 求和
4.进制转换函数
bin 转换为二进制
oct 转换为八进制
hex 转换为十六进制
ord 转换为ASCII码
chr ASCII码转字符
5.高级内置函数
enumerate 枚举类型
定义:enumerate(obj, startindex) #将可遍历的数据对象(如列表、元组、字符串)组成一个索引序列
startindex是开始下标 #一般转换为字典或者或者列表。(无startindex默认从0开始)
例:li=[1,2,3,4]
enum=dict(enumerate(li)) #{0:1, 1:2, 2:3, 3:4}
eval 执行一个字符串表达式,并返回表达式的值
例:eval('1*2+3') #5
eval('[1, 2, 3, 4]') #将字符串转化相应的list,tumple和dict
exec 执行储存在字符串或文件中的 Python 语句,相比于 eval,exec可以执行更复杂的 Python 代码
例:eval('print('hello python')') #hello python
eval('ans=1+2')
print('ans') #3
filter 过滤器
定义:filter(function, ierater) function判断函数,iterator可迭代(循环)对象
例:def judge(x):
return True if x>3 else False
li = [1, 2, 3, 4, 6]
filter(judge, li) #[4, 6]
map 根据提供的函数对指定序列做映射
定义:map(function, iterator) function函数,iterator可迭代对象
例:def Max(x):
return True if x>3 else False
li=[1,2,3,5,6]
list(map(Max,li)) #[False,False,False,True,True]
zip 将两个序列组合成一个字典
定义:zip(obj1, obj2) obj1作为key,obj2作为value(两序列长度不同截取最小值)
例:li=['name', 'age', 'sex']
chara=['北秋', ‘18’, ‘boy’]
dict(zip(li, chara)) #{'age': '18’, ‘boy', 'name': '北秋'}