1,首先呢,先介绍一下函数的相关概念:
函数就是把重复的具有独立功能的代码进行包装.在需要的时候,通过简单的语句即可调用。
Python中的函数的使用包括两部分:
(1)定义函数。封装独立的功能。
(2)调用函数。使用封装的函数。
2,定义函数
def printHello():
print('print Hello')
这是Python中进行函数定义的格式,用def+函数名():来定义。
要知道Python是用冒号加缩进来区分代码的层次的,所以无论在什么时候,该出现冒号的地方一定不可缺少,否则便要进行小拳拳警告。
3,函数的调用
函数的调用语法
函数名(函数参数)
例如现在要调用上面定义的一个函数
printHello()
4,函数的参数与返回值
函数的参数同样是分为形参与实参,参数与参数之间用逗号区分。
函数中使用的参数,称为形参
调用函数时传递的参数,称为实参
def add(a,b):
return a+b
#在这里对函数进行传参并调用
result=add(2,3)
在这里面,a与b的是函数中使用的参数,是形参;
而2和3是调用函数的时候传递的参数,是实参;
但有的时候也可对函数中的参数进行默认,即在定义函数的时候便可给参数赋值,例如:
def add(a=5,b):
return a+b
result=add(3)
这样子进行调用之后便会将结果a=5,b=3的和赋值给result,进而可以用print进行输出。
注意:
(1)参数的默认值,应该使用最常用的值。
(2)如果不能确定常用的值,宁可不要设置默认值。
而关于返回值,python与其他语言差不多,也是在函数的结尾处用关键字return进行对结果返回,函数的返回值可以有多个,例如:
def div(a,b):
result1=a/b
result2=a%b
return result1,result2
当返回值有多个,但是用于接收返回值得变量只有一个的时候,输出的结果会是以元组的形式输出。
当然,也可以用多个变量来接收函数的返回值,变量的数量需要与返回值的个数相同。
5,可变参数与关键字参数
在实际的使用上,有时候我们对函数的参数的数量并不确定,例如:
有时候我们需要计算三个数的和,但是函数中定义的参数只有两个,此时如果我们一次性传进去三个参数的话,那么毋庸置疑,结果肯定是报错的。所以,为了解决这种情况,我们使用*实现多个参数,例如:
def summary(*args):
这里的args实际上是一个元组,通过遍历可以访问元组中的各个元素。如下:求n个数的和
def summary(*args):
# args是可变参数,是元组类型
result = 0
for value in args:
result += value
print(result)
summary(1)
summary(1, 2)
summary(1, 2, 3)
summary(1, 2, 3, 4,5,6,7,8,9,10,11)
而如果需要使用关键字参数的话,则需要使用**,通过 **描述关键字这些参数会组装成一个字典类型的参数。
def info(**kwargs):
#kwargs是可变参数,是字典类型
#print(kwargs)
for key in kwargs.keys():
value=kwargs.get(key)
print(key,":",value,end=" ")
print()
info()
info(name='zhangsan')
info(name='zhangsan',age=23)
info(name='zhangsan',age=23,height=183)
info(name='zhangsan',age=23,height=183,married=False)
如果有些参数在实参传递的时候,需要明确指定参数名,则称为命名关键字参数。
在定义的时候,在命名关键字参数前面加上*符号,表示区分普通参数和关键字参数。
**
由于怕文章太长,所以关于函数部分小知识就先分享到这。下一篇文章我们聊聊函数的全局变量,以及嵌套的内部函数怎么去调用外部函数的变量。
**