1)一个函数有无返回值,就看有没有return,因为只有return才可 以返回数据;
2)在开发中往往根据需求设计函数需不需要返回值;
3)函数中可以有多个return语句,但是只要执行一个return语句,那么就意味着这个函数的调用完成;
# -*- coding = utf-8 -*-
# @Author:Polaris
# @File:函数.py
# @Software:PyCharm
#1.无参函数
def printInfo():
print('-------------')
print('人生苦短,我用python')
print('-------------')
printInfo()
#2.带参函数
def add2num(a,b):
c=a+b
print(c)
add2num(11,12)
#3.有1个返回值的函数
def add2num(a,b):
c=a+b
return c
print(add2num(2,5))
#4.有多个返回值的函数
def divid(a,b):
shang=a//b
yushu=a%b
return shang,yushu
shang,yushu=divid(5,2)
print(shang,yushu) #本质利用了元组
#prictice_one
def printOneLine(): #打印一条横线
print('-'*30)
def printNumLine(num): #函数的多次调用——>实现打印多条横线
i=0
while i<num:
printOneLine()
i+=1
printNumLine(4) #函数的调用
#prictice_two
def sum3Number(a,b,c):
return a+b+c #return的后面可以是数值,也可以是表达式
def average3Number(a,b,c):
sumResult=sum3Number(a,b,c)
aveResult=sumResult/3.0
return aveResult
print(average3Number(11,2,55))
1)在函数外边定义的变量为’全局变量‘;
2)在代码块(函数内)定义的变量为’局部变量‘;
3)全局变量可以在所有的函数中进行访问;
4)若想要在函数中对全局变量进行修改,则需要使用global进行声明,否则出错;
5)若全局变量与局部变量的名字相同,则使用的是局部变量,’强龙不压地头蛇‘
【注】没有局部用全局;若有局部默认用局部’强龙不压地头蛇‘;有局部想用全局要用global进行声明;
#1.局部变量
def test1():
a=300
print('----test1--修改前--a=%d'%a)
a=200
print('----test1--修改前--a=%d'%a)
def test2():
a=400
print('----test2----a=%d'%a)
test1() #调用函数
test2()
#2.全局变量
a=100
def test1():
print(a)
def test2():
print(a)
test1() #函数的调用
test2()
#3.全局变量和局部变量名字相同问题
a=100
def test1():
a=300
print('--test1--a=%d'%a)
a=200
print('--test2--a=%d'%a)
def test2():
print('--test3--a=%d'%a) #没有局部变量使用全局变量
test1()
test2()
#4.修改全局变量
a=100
def test1():
global a
print('----test1---修改前--a=%d'%a)
a=200
print('----test1---修改后--a=%d'%a)
def test2():
print('----test3---a=%d'%a)
test1()
test2()