python的函数
一.python函数的介绍
如果在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数。
二.函数的格式
def 函数名():
代码
// 函数的创建以及打印
def printInfo():
print("my name is 黑猫猫")
print("my age is 18")
printInfo()
三.函数的传参数
1.关键字参数
参数调用时,可以改变传参顺序,如果有位置参数需要位置参数放在关键字参数前面
// 关键字传参
def printInfo(a, b): ()中的内容为形参,可以填入固定的值
print("a输出的值%d" % a)
print("b输出的值%d" % b)
printInfo(b=99, a=77) ()中的内容为实参,进行赋值
2.不定长参数
(1).不定长参数 args*
会存放所有未命名的变量参数,args为元组
// args案例:
def printInfo(*args): # 形参
print(args)
printInfo(99, 77, 88, 9, 5, 4, 1) # 实参
(1).不定长参数 kwargs*
会存放命名参数,即形如key=value的参数, kwargs为字典.
// kwargs案例:
def printInfo(**kwargs): # 形参
print(kwargs)
printInfo(a=1, b=999, name="zhangsan") # 实参
四.函数的返回值
1.返回值概念
所谓“返回值”,就是程序中函数完成一件事情后,最后给调用者的结果.
2.函数案例
// 函数的案例,a+b+c
def returnSJ(a, b, c):
c = a + b + c
return c
print(returnSJ(1, 2, 3))
一个函数中可以有多个return语句,但是只要有一个return语句被执行到,那么这个函数就会结束了,因此后面的return没有什么用处
3.一个函数返回多个数据
// 函数返回多个数据案例:
def divid(a, b):
shang = a // b 取模
yushu = a % b 取余
return shang, yushu 默认是元组
result = divid(5, 2)
print(result)
return后面可以是元组,列表、字典等,只要是能够存储多个数据的类型,就可以一次性返回多个数据
4.函数的类型
4种函数的类型
函数根据有没有参数,有没有返回值,可以相互组合,一共有4种
-
无参数,无返回值(一般用于打印功能)
-
无参数,有返回值(一般用于采集数据)
-
有参数,无返回值(一般情况下,对某些变量设置数据而不需结果时,用此类函数)
-
(常用)有参数,有返回值(此类函数,不仅能接收参数,还可以返回某个数据,一般情况下,像数据处理并需要结果的应用,用此类函数)
// 有参有返回值案例:
def calculateNum(num):
result = 0
i = 1
while i<=num:
result = result + i
i+=1
return result
result = calculateNum(100)
print('1~100的累积和为:%d'%result)
5.函数的嵌套
// 函数嵌套案例:
def testB():
print("---------testB start-----------")
print("---------testB函数执行的代码-----------")
print("---------testB end-----------")
def testA():
print("---------testA start-----------")
testB()
print("---------testA end-----------")
testA()
如果函数A中,调用了另外一个函数B,那么先把函数B中的任务都执行完毕之后才会回到上次 函数A执行的位置
6.函数的lambda表达式
lambda函数也叫匿名函数,即函数没有具体的名称
// 案例:
a = 100
quanJu = lambda a: a + 1
print(quanJu(a))
五.局部变量和全局变量
1.局部变量
局部变量,就是在函数内部定义的变量,
其作用范围是这个函数内部,即只能在这个函数中使用,在函数的外部是不能使用的
2.全局变量
在函数外边定义的变量叫做全局变量
全局变量能够在所有的函数中进行访问
// 变量案例:
a = 100 全局变量
def quanJu()
a=55 局部变量
print(a)
quanJu()
( ̄▽ ̄)~*------ ٩(๑❛ᴗ❛๑)۶谢谢阅读!!!!!!!!!!!!!!!