函数的返回值
return[value]:返回值·函数运行结果,还需要进一步操作时,给一个反回值,return用来返回函数执行结果,
如果没有返回值,默认为None
Python可以间接返回多个值(返回一个元组)一旦遇到return,函数执行结果,后面的代码不会执行
1.带有返回值的函数
想要在函数中吧结果返回给调用者,需要在函数中使用return
def add2num(a,b):
c=a+b
return c
def add2num(a,b):
return a+b
2.保存函数中的返回值
如果一个函数返回一个数据,那么就要保存函数的返回值
#定义函数
def add2num(a,b):
return a+b
#调用函数,顺便保存函数的返回值
result=add2num(100,98)
#因为result已经保存了add2num的返回值,所以接下来就可以使用了
print(result)
运行结果:
多个返回值
def divid(a,b):
shang=a//b
yushu=a%b
return shang,yushu
sh,yu=divid(5,2)
print(sh)
print(type(yu))
print(yu)
print(type(yu))
运行结果:
def mypow(x,y=2):
return x**y,x+y
print('hello')
#将函数的返回值赋值给变量a,b(有几个函数的返回值就用几个变量接受)
a,b=mypow(3,4)
print(a,b)
运行结果:
函数的嵌套
一个函数里面有调用另一个函数,这就是所谓的函数调用
def testB():
print('————————testB——————————')
print('这里是testB函数执行的代码....(省略)...')
print('_____testB end____')
def testA():
print('____testAstart____')
testB()
print('____testA end____')
testA()
#如果函数A中,又调用了另一个函数B,那么先把函数B中的任务都执行完之后才回到上次函数A执行的位值
运行结果:
变量的作用域
概念:变量的作用域时指程序代码能够访问该变量的区域,如果超出该区域,在访问时就会出现错误。
局部变量
1.局部变量,就是在函数内部定义变量。
2.不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生影响。
3.局部变量的作用,为了临时保存数据需要在函数中定义变量来进行储存。
def test1():
a = 300
print('---tset--修改前---a=%d'%a)
a = 200
print('---test--修改后---a=%d'%a)
def test2():
a=400
print('---test3---a=%d'%a)
test1()
test2()
运行结果:
全局变量
如果一个变量,既能在一个函数中使用,也能在其他的函数中使用,这样的变量就是全局变量。
a= 100
def test1():
print(a)
def test2():
print(a)
#函数调用
test1()
test2()
运行结果:
修改全局变量
局部变量的修改不影响全局变量,那全局变量怎么修改呢?
1.在函数外边定义的变量叫做全局变量。
2.全局变量能够在所有的函数中进行访问。
3.如果在函数中修改全局变量,那么就需要使用global进行声明,否则出错。
4.
变量的名字,那么使用的局部变量的,强龙不压地头蛇
a = 100
def test1():
global a
print('---test1修改前---a=%d'%a)
a = 200
print('---test1修改后---a=%d'%a)
def test2():
a = 400
print('----test3---a=%d'%a)
test1()
test2()
运行结果: