2
写函数时
def stu_register(name,age,country,course):
print("----注册学生信息------")
print("姓名:",name)
print("age:",age)
print("国籍:",country)
print("课程:",course)
stu_register("王山炮",22,"CN","python_devops")
stu_register("张叫春",21,"CN","linux")
stu_register("刘老根",25,"CN","linux")
默认参数 提早定义变量
发现 country 这个参数 基本都 是"CN", 就像咱们在网站上注册用户,像国籍这种信息,你不填写,默认就会是 中国, 这就是经过默认参数实现的,把country变成默认参数很是简单
def stu_register(name,age,course,
country="CN"):
3
关键参数
正常状况下,给函数传参数要按顺序,不想按顺序就能够用关键参数,只需指定参数名便可,但记住一个要求就是,关键参数必须放在位置参数以后
4
非固定参数
若你的函数在定义时不肯定用户想传入多少个参数,就可使用非固定参数
def stu_register(name,age,*args): # *args(args是变量名) 会把多传入的参数变成一个元组形式
print(name,age,args)
stu_register("Alex",22)
#args是元组形式
#输出
#Alex 22 () #后面这个()就是args,只是由于没传值,因此为空
stu_register("Jack",32,"CN","Python")
#输出
# Jack 32 ('CN', 'Python')
还能够有一个**kwargs
def stu_register(name,age,*args,**kwargs): # *kwargs 会把多传入的参数变成一个dict形式
print(name,age,args,kwargs)
stu_register("Alex",22)
#kwargs 是字典形式
#输出
#Alex 22 () {}#后面这个{}就是kwargs,只是由于没传值,因此为空
stu_register("Jack",32,"CN","Python",sex="Male",province="ShanDong")
#输出
# Jack 32 ('CN', 'Python') {'province': 'ShanDong', 'sex': 'Male'}
将n个关键字参数转换成字典的方式
3、函数式编程
函数式编程中的函数这个术语不是指计算机中的函数(其实是Subroutine),而是指数学中的函数,即自变量的映射。也就是说一个函数的值仅决定于函数参数的值,不依赖其余状态。好比sqrt(x)函数计算x的平方根,只要x不变,不论何时调用,调用几回,值都是不变的。
函数式编程 输入肯定,输出肯定
函数不同 里面有逻辑判断 if x>7: return 0 输入肯定 输出不肯定
4、高阶函数
变量能够指向函数,函数的参数能接收变量,那么一个函数就能够接收另外一个函数做为参数,这种函数就称之为高阶函数。
def add(x,y,f):
return f(x) + f(y)
res = add(3,-6,abs)
print(res)
abs() 取绝对值