Python函数及变量详解
2021/10/5 22:11:17
本文主要是介绍Python函数及变量详解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.函数的概念
由若干语句组成的语句块、函数名称、参数列表构成,具有独立功能的代码块称为函数
2.函数的作用
在结构化编程中,函数是对代码的最基本的封装,一般都是按照功能来封装,封装是为了可以开发程序可以重复使用,减少相同功能代码的冗余,提高编写代码的效率,代码更加简洁,可读性强。
3.函数的定义和调用
1.定义函数的格式:
def 函数名(): 代码块
代码实例:
# 函数的定义 def printof(): print("---------------------") print("人生苦短,我要学Python") print("---------------------") # 函数的调用 printof()
4.函数参数
学习到这,相信你已经对函数的概念基本熟悉了,但不知道你有没有疑问这个疑问:我该怎么样将数据传递给函数呢?这就需要用到函数参数,通过参数来把数据传递给函数获取我们想要的结果
1.定义带有参数函数和调用
# 定义 def 函数名(参数1,参数2): 代码块 # 调用 函数名(参数1,参数2)
代码示例:
# -*- codeing = utf-8 -*- # @Time :2020/9/19 22:58 # @Author:qzp # @File : demo3-1.py # @Software: PyCharm # 有参函数的定义 def add(a,b): c = a + b print(c) # 调用有参函数 add(3, 5)
5.函数返回值
解决了如何将值传入函数中,但如何获得函数计算出来的结果呢,想要在函数把结果返回给调用者,需要在函数中使用return
代码示例:
# 有参函数的定义,并返回结果给调用者 def add(a,b): c = a + b return c # 调用有参函数并获取结果 # 方式一: print(add(3, 5)) # 方式二: #调用函数,顺便保存函数的返回值 result = add(3,5) #因为result已经保存了add的返回值,所以接下来就可以使用了 print(result)
6.思考一下,Python可不可以返回多个值?
可以,对于大多数语言,比如java,C++语言,是不可以,但Python可以
代码示例:
def add(a,b): c = a + b d = a*b return c,d c,d = add(3, 5) print(a,b)
7.函数使用分类
1.自定义函数
i.无参无返回值
def 函数名(): 执行语句
ii.无参有返回值
def 函数名(): 执行语句 return 需要返回的数值
注意:
- 一个函数到底有没有返回值,就看有没有return,因为只有return才可以返回数据
- 函数中,可以有多个return语句,但是只要执行到一个return语句,那么就意味着这个函数的调用完成
iii.有参无返回值
def 函数名(形参列表): 执行语句
注意:
- 在调用函数时,如果需要把一些数据一起传递过去,被调用函数就需要用参数来接收
- 参数列表中变量的个数根据实际传递的数据的多少来确定
iv.有参有返回值
def 函数名(): 执行语句 return 需要返回的值
2.调用函数
1.调用函数的方式:
函数名([实参列表])
- 调用有参函数时,实参的个数和先后顺序应该和定义函数中的要求一致,不可不对等和顺序有变动,否则结果会出问题
- 调用有返回值的函数,可以用一个变量来保存这个函数的计算结果
7.局部变量和全局变量
1.什么是局部变量
定义在函数内部的变量
def test1(): a = 200 # 局部变量 print("---------test1--修改前--a=%d"%a) a = 300 # 局部变量可以修改值 print("---------test1--修改后--a=%d"%a) def test2(): a = 400 # 局部变量,不同函数,局部变量名可以相同,互不影响 print("---------test2--a=%d"%a) test1() test2()
运行结果:
---------test1--修改前--a=200 ---------test1--修改后--a=300 ---------test2--a=400
小总结:
- 局部变量,就是在函数内部定义的变量
- 不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生影响
- 局部变量的作用,为了临时保存数据需要在函数中定义变量来进行存储,这就是它的作用
2.什么是全局变量?
如果一个变量,既能在一个函数中使用,也能在其他的函数中使用,这样的变量就是 全局变量
# 定义一个全局变量 a = 100 # 定义两个函数 def test1(): print(a) def test2(): print(a)
3.全局变量和局部变量同名问题
当全局变量和局部变量同名,如何修改全局变量的值?
代码如下:
# 定义一个全局变量 a = 100 def test1(): a = 200 # 局部变量 print("---------test1--修改前--a=%d"%a) a = 300 # 局部变量可以修改值 print("---------test1--修改后--a=%d"%a) def test2(): a = 400 # 局部变量 print("---------test2--a=%d"%a) test1() test2()
运行结果:
---------test1--修改前--a=200 ---------test1--修改后--a=300 ---------test2--a=400
是不是感觉和局部变量中的示例结果一样,这就需要好好思考一下了?这两个变量到底问题出在哪里?
修改全局变量方法:使用global
在变量名前进行声明
代码如下:
# 定义一个全局变量 a = 100 def test1(): global a #变量名a被global修饰之后,就变成了全局变量 a = 600 # 修改全局变量的值 print("---------test1--修改全局变量值后--a=%d"%a) a = 300 # 局部变量变为全局变量,再次修改了全局变量的值 print("---------test1--全局变量--a=%d"%a) def test2(): a = 400 # 局部变量不变 print("---------test2--局部变量a=%d"%a) def test3(): print('---全局变量---a=%d'%a) test1() test2() test3()
运行结果:
---------test1--修改全局变量值后--a=600 ---------test1--全局变量--a=300 ---------test2--a=400 ---全局变量---a=300
小总结:
- 在函数外边定义的变量叫做 全局变量
- 全局变量能够在所有的函数中进行访问如果在函数中修改全局变量,那么就需要使用 global 进行声明,否则出错
- 如果全局变量的名字和局部变量的名字相同,那么使用的是局部变量的,小技巧**
就近原则
**
4.作用域
1.在一个函数中定义的变量,只能在本函数中用(局部变量)
2.在函数外定义的变量,可以在所有的函数中使用(全局变量)
这篇关于Python函数及变量详解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-27Python编程基础教程
- 2024-12-27Python编程基础指南
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型
- 2024-12-23使用python部署一个usdt合约,部署自己的usdt稳定币
- 2024-12-20Python编程入门指南
- 2024-12-20Python编程基础与进阶
- 2024-12-19Python基础编程教程
- 2024-12-19python 文件的后缀名是什么 怎么运行一个python文件?-icode9专业技术文章分享