开发程序时,某块代码需要使用多次,为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数。
1.函数
1.1 定义函数
def 方法名称(): 这就是定义函数的要素,定义完以后必须要调用,否则不生效
def printStr():
print("------------------------------")
print("人生苦短,我用python")
print("------------------------------")
printStr()
执行结果:
1.2 带参数函数
需要在()里添加你需要的参数,多个参数用逗号分割
#带参数函数============================================
def addNum(a,b):
c=a+b
print(c)
addNum(1,2)
# 运行结果:3
1.3 带返回值函数
也很简单,不用在def左右添加任何,只要写return就代表要返回某些数据,就可以将值返回
#带返回值函数============================================
def addNum(a,b):
return a+b
result=addNum(1,2)
print(result)
# 运行结果:3
带多返回值的函数,直接在返回值时以逗号分割,并在接收时要记得接收顺序
#带多返回值函数
def divideNum(a,b):
shang= a/b
yus= a%b
return shang,yus #多个返回值用逗号分割
sha,yu=divideNum(5,2) #需要多个定义对象接收
print("商:%d,余数:%d"%(sha,yu))
# 结果:商:2,余数:1
函数课堂作业:大家要好好的写作业啊!
1.写一条打印横线的函数
2.写一个函数可以输入想要打印出自定义行数的横线(调用第一条)
3.写一个函数求三个数的和
4.写一个函数求三个数平均数(调用第三条的函数)
2.全局/局部变量
在全局变量中定义一个int类型的值,局部变量里进行更改,在另一个方法里使用局部变量此数据会更改吗?答案是不会,因为如下代码中更改的是局部变量的a=300,对全局变量并没有改变,test2访问时由于内部没有一个a变量获取的是全局变量的100
a=100
def test():
a = 300 # 此处的更给不会影响到全局变量
print("test中的a:", a) # 局部有定义用局部
def test2():
print("test2中的a:", a) #局部没有定义用全局
test()
test2()
运行结果:
如果要对全局变量进行更改,则在使用时加上global 变量名,然后再继续修改变量名的值,全局变量就跟着更改了
a=100
def test():
global a #这样,后面局部变量更改a则全局变量也改了
print("test中的a:",a) # 如果需要局部使用全局变量则可以加global
a = 300
print("test中的a:", a) # 局部有global定义改全局
def test2():
print("test2中的a:", a) #局部没有定义用全局
test()
test2()
运行结果: