1 函数的概念
如果在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独 立功能的代码块组织为一个小模块,这就是函数。
2 函数定义和调用
2.1、定义函数和调用
定义函数的格式如下:
def 函数名():
代码
实例
#函数的定义
def printinfo():
print("-----------------------")
print(" 人生苦短。我用python ")
print("-----------------------")
#函数的调用
printinfo()
3 函数参数
3.1 定义带有参数的函数
#带参数的函数
def add(a,b):
c = a + b
print(c)
#调用
add(11,12)
4 函数返回
4.1 带有返回值的函数
想要在函数中把结果返回给调用者,需要在函数中使用return
#带返回值的函数
def add(a,b):
return a + b
#调用
print(add(11,12))
4.2在python中可以返回多个值
#返回多个值的函数
def divid(a,b):
shang = a / b
yushu = a % b
return shang,yushu
sh,yu = divid(5,2) #需要多个返回值来接受,且用逗号分隔
print("商是:%d,余数是:%d"%(sh,yu))
本质是利用了元组
5 局部变量和全局变量
5.1 局部变量
➢局部变量,就是在函数内部定义的变量 ;
➢不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生影响 ;
➢局部变量的作用,为了临时保存数据需要在函数中定义变量来进行存储,这就是它的作用。
def test1():
a = 300 #局部变量
print("test1-----修改前:a=%d"%a)
a = 100
print("test1-----修改后:a=%d" % a)
def test2():
a = 900 #不同的函数可以定义相同的名字,彼此无关
print("test1-----修改前:a=%d" % a)
test1()
test2()
5.2 全局变量
如果一个变量,既能在一个函数中使用,也能在其他的函数中使用,这样的变量就是 全局变量
a = 10 #全局变量
def test1():
print(a) #调用全局变量a
def test2():
a = 900 #全局和局部名字相同,优先使用局部
print("test1-----修改前:a=%d" % a)
def test3():
global a #使用全局变量
a = 800
print("test1-----修改后:a=%d" % a)
test1()
test2()
test3()
总结:
➢在函数外边定义的变量叫做 全局变量
➢全局变量能够在所有的函数中进行访问
➢如果在函数中修改全局变量,那么就需要使用 global 进行声明,否则出错
➢如果全局变量的名字和局部变量的名字相同,那么使用的是局部变量的,小技巧 强龙不压地头蛇
6 函数使用注意事项
6.1、无参数、有返回值&有返回值
➢一个函数到底有没有返回值,就看有没有return,因为只有return才可以返回数据
➢在开发中往往根据需求来设计函数需不需要返回值
➢函数中,可以有多个return语句,但是只要执行到一个return语句,那么就意味着这个函数的调用完成
6.2、有参数、无返回值
➢在调用函数时,如果需要把一些数据一起传递过去,被调用函数就需要用参数来接收
➢参数列表中变量的个数根据实际传递的数据的多少来确定
6.3、调用函数
➢如果调用的函数 在定义时有形参,那么在调用的时候就应该传递参数
➢调用时,实参的个数和先后顺序应该和定义函数中要求的一致
➢如果调用的函数有返回值,那么就可以用一个变量来进行保存这个值
6.4、作用域
➢在一个函数中定义的变量,只能在本函数中用(局部变量)
➢在函数外定义的变量,可以在所有的函数中使用(全局变量)