开发程序时,某块代码需要使用多次,为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数。
def 方法名称(): 这就是定义函数的要素,定义完以后必须要调用,否则不生效
- def printStr():
- print("------------------------------")
- print("人生苦短,我用python")
- print("------------------------------")
-
- printStr()
执行结果:

需要在()里添加你需要的参数,多个参数用逗号分割
- #带参数函数============================================
- def addNum(a,b):
- c=a+b
- print(c)
-
- addNum(1,2)
-
- # 运行结果: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.写一个函数求三个数平均数(调用第三条的函数)
在全局变量中定义一个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()
运行结果:

本博客学习资料来源bilibili的IT私塾,python课程