定义函数的时候,我们将函数的参数名字和位置确定下来,函数的接口定义就完成了,在使用参数时,除了必选参数外,我们还可以使用默认参数、可变参数和关键字参数,是函数可以处理各种传入的数据。
一、位置参数
1.通过位置进行传参
1 def mymax(x, y): 2 the_max = x if x > y else y 3 return the_max 4 5 m = mymax(10,20) 6 print(m)
2.按照关键字传参
1 def mymax(x, y): 2 the_max = x if x > y else y 3 return the_max 4 5 m = mymax(y=20, x=10) 6 print(m)
3.未知参数和关键字参数混用
*** 未知参数必须在关键字参数前面
*** 一个形参只能赋值一次
1 def mymax(x, y): 2 the_max = x if x > y else y 3 return the_max 4 5 m = mymax(10, y=20) 6 print(m)
二、默认参数
***** 注意!
1 def defult_param(a,l = []): 2 l.append(a) 3 print(l) 4 5 defult_param(‘alex‘) 6 defult_param(‘egon‘)
[‘alex‘]
[‘alex‘, ‘egon‘]
三、动态参数
1.按位置的动态传参 *args
1 def mysum(*args): 2 the_sum = 0 3 for i in args: 4 the_sum+=i 5 return the_sum 6 7 the_sum = mysum(1,2,3,4) 8 print(the_sum)
2.按关键字的动态传参 **kwargs
1 def stu_info(**kwargs): 2 print(kwargs) 3 print(kwargs[‘name‘], kwargs[‘sex‘]) 4 5 stu_info(name = ‘alex‘,sex = ‘male‘)
四、定义函数的规则
1.定义:def 关键词开头,空格之后接函数名称和圆括号()。 2.参数:圆括号用来接收参数。若传入多个参数,参数之间用逗号分割。 参数可以定义多个,也可以不定义。 参数有很多种,如果涉及到多种参数的定义,应始终遵循位置参数、*args、默认参数、**kwargs顺序定义。 如上述定义过程中某参数类型缺省,其他参数依旧遵循上述排序 3.注释:函数的第一行语句应该添加注释。 4.函数体:函数内容以冒号起始,并且缩进。 5.返回值:return [表达式] 结束函数。不带表达式的return相当于返回 None def 函数名(参数1,参数2,*args,默认参数,**kwargs): """注释:函数功能和参数说明""" 函数体 …… return 返回值
原文地址:https://www.cnblogs.com/heshike/p/9451531.html
时间: 2024-10-10 15:40:39