08函数基础,函数参数,内置函数
函数的定义:
def 函数名(参数):
pass
return 表达式
函数名命名规则: 字母、数字和下划线组成,和变量命名规则一致
return 后面可以返回任意表达式,但不能是赋值语句
函数调用:
函数名(参数)
return:
注意 return 和 print 的区别,return是函数的返回值,返回值可以赋值给变量,而print只是打印出来
函数参数
01必备参数:
def func(x):
pass
02默认参数:
def func(x,y=None):
pass
03不定长参数:
def func(*args, **kwargs):
pass
01定义参数:
def func1 (a,b = 5, *args, **kwargs): print(a) print(b) print(args) print(kwargs) func1(1,5,45,22,t = 88, u = 25) 打印结果: 1 5 (45, 22) {'t': 88, 'u': 25}
02参数的调用:
位置参数:通过位置传递参数(未命名参数)
关键字参数:通过关键字传递参数(命名参数)
03在python中参数无类型,参数可以接受任意对象,只有函数中代码才会对参数类型有限制
函数参数调用:
必备参数:
def func(x):
print(x)
func(1)
默认参数:
def func(x,y=None):
print(x)
print(y)
func(1)
func(1, 2)
不定长参数:
def func(*args, **kwargs):
print(args)
print(kwargs)
func(1, 2, 3, a=4, b=5, c=6)
func(*(1, 2, 3), **{'a': 4, 'b': 5, 'c': 6})
必备参数:在函数调用的时候,必备参数必须要传入
默认参数:在函数调用的时候,默认参数可以不传入值,不传入值时,会使用默认参数
不定长参数:在函数调用的时候,不定长参数可以不传入,也可以传入任意长度。
其中定义时,元组形式可以放到参数最前面,字典形式只能放到最后面
常见内置函数
01内置对象查看:
dir(__builtins__)
02常见函数:
len 求长度
min 求最小值
max 求最大值
sorted 升序 # 字母和数字不能一起使用
li = [1,8,9,3,5] sorted(li,reverse = True) # 降序;字母和数字不能一起使用
reversed 反向
li = [1,5,9,8] list(reversed(li)) print(li) # 打印结果: [8,9,5,1]
sum 求和
03进制转换函数:
bin 转换为二进制
oct 转换为八进制
hex 转换为十六进制
ord 字符转ASCII码
chr ASCII码转字符
python中高级内置函数:
1、enumerate 返回一个可以枚举的对象;返回列表、元祖、字符串、集合、字典(键)的索引
li = [1,2,3,4,5] print(list(enumerate(li))) 结果: [(0, 1), (1, 2), (2, 3), (3, 4), (4, 5)] a = [1,2,3,4,5,6,7,8,9,10] for index,value in enumerate(a): if value == 5: print('索引:',index) 打印结果: 索引: 4
2、eval
01,取出字符串的内容
st = '[1,2,3,4]' print(eval(st)) 打印结果: [1,2,3,4]
02,将字符串str当成有效的表达式来求,值返回计算结果
b = eval('11+22')
3、exec 执行字符串或complie方法编译过的字符串
st = 'print('您好')' exec(st) exec('c = 1')
4、filter 过滤器
d = [1,2,3,4,5,6,7,8,9,10] def myfilter(num): if num > 5: return True else: return False e = filter(myfilter,d) print(list(e)) 打印结果: [6, 7, 8, 9, 10]
5、map
f = [1, 2, 3, 4, 5] def mymap(num): return num * 10 g = list(map(mymap, f)) print(g) 打印结果: [10, 20, 30, 40, 50]
6、zip 将对象逐一配对
h = [1,2,3,4,5] l = [6,7,8,9,10] print(list(zip(h,l))) 打印结果: [(1, 6), (2, 7), (3, 8), (4, 9), (5, 10)]