Python学习心得(9)
函数
1、定义
函数,就是把代码的功能结构化从而形成结构化工具方便使用,提高代码的重复利用率的同时让代码更加简洁。
2、结构
def 函数名(参数列表):
函数体(逻辑代码)
[return 返回值]
1)函数名:
必须符合表示符的命名规则,并且符合驼峰结构(第一个单词以小写字母开头,其余单词首字母大写 , 如:theFirstName)或者在单词中间加上下划线(_)#推荐使用下划线
2)参数:
参数分为可变参数和不可变参数,可变参数可以是列表list和字典dict,也可以是元组tuple或字符串等不可变参数。例如
#可变参数
def fun(a,b):
c = a + b
return c
print(fun(3,4))
a,b叫做形式参数(parameter),3,4是实际参数(argument)
#不可变参数
def fun(a,b):
a = 3 b = 4
c = a + b
return c
print(fun(3,4))
他们之间会在定义变量时存在区别
参数又可以分为必须参数、默认参数、关键字参数、不定长参数等
必须参数必须以正确的顺传入函数,调用时的数量必须和声明时的一样
关键字参数是调用使用关键字参数来确定传入的参数值。在实际参数前需指明其赋值给哪个形式参数
使用关键字参数允许函数调用时参数的顺序与声明时不一致。
默认参数在函数调用中,如果默认参数的值没有传入,则被认为是默认值。例如
def fun(a, b = 2):
c = a + b
return c
print(fun(a = 5))
#b即为默认参数
不定长参数:当需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,声明时不会命名。
def fun(*args,**kwargs):
print(args)
print(kwargs)
fun (1,2,3,4,a=1,b=2,c=3)
# (1, 2, 3, 4)
# {'a': 1, 'b': 2, 'c': 3}
参数的顺序
必须参数在定义是需要排在默认参数前 *args–>**kwargs
1, *args后面要是跟必须参数,那么该必须参数要通过关键字进行赋值,*args位置随意
2, **kwargs要放在最后
3)返回值:
函数输出选择性地向调用方返回一个表达式。有返回值的return 需要用变量来接收值,而没有返回值的return 则直接输出None