一.函数的特性
1.功能性
2.隐藏细节
3.避免编写重复的代码
4.参数列表可以没有
5.可以使用return返回值,如果没有return,返回None
代码段
a = 3.1415926 result = round(a,3) # round为函数,result变量也可以是一个函数 print(result)
输出结果
3.142
二.创建一个函数,使用关键字def
代码段
def mun(x,y): result = x+y return result def pint(code): print(code) a = mun(8,100) b = pint(1000) print(a,b)
输出结果
1000 108 None
三.返回多个值 return
代码段
def damage(skill1,skill2): damage1 = skill1 * 3 damage2 = skill2 * 2 + 10 return damage1,damage2 # 序列解包 skill1_damage,skill2_damage = damage(3,6) print(skill1_damage,skill2_damage)
输出结果
9 22
四.序列解包
代码段
# a = 1 # b = 2 # c = 3 a,b,c = 1,2,3 # 不需要像上面一个单个赋值,可以一起赋值 d = 1,2,3 # d 是一个元组类型 print(type(d)) e=f=g=8 # 三个变量赋予同一个值 print(e,f,g)
输出结果
<class 'tuple'> 8 8 8
四.函数参数
1.必须参数
代码段
def mun(x,y): # x,y为形参,也就是形式参数 result = x+y return result a = mun(8,100) # 8,100为实参,也就是实际参数 print(a)
输出结果
108
2.关键字参数
代码段
def adda(ipone,ipad): result = x+y return result a = adda(ipad=4300,ipone=5000) # 关键字参数,不用考虑顺序;使用关键字参数,可以提高代码的可读性
print(a)
输出结果
9300
3.默认参数
代码段
def print_student_files(name,age,gender='男',school='清华大学'): # gender、school为默认参数 print("姓名:",name) print("年龄:",age) print("性别:",gender) print("学校:",school) print_student_files('Cheney',18) print(" ") print_student_files('joy',18,'女','北京大学') # 修改默认参数 print(" ") print_student_files('hebe',23,school='哈佛大学') # 修改指定的默认参数
输出结果
姓名: Cheney 年龄: 18 性别: 男 学校: 清华大学 姓名: joy 年龄: 18 性别: 女 学校: 北京大学 姓名: hebe 年龄: 23 性别: 男 学校: 哈佛大学
注意:
# 默认参数和必须参数不能混用
例如
创建时错误
def print_student_files(name,gender='男',school='清华大学',age,):
调用时错误
print_student_files(age,gender='男',school='清华大学',name):