什么是python的局部变量和全局变量?python的函数变量又是做什么用的?
一:局部变量和全局变量
局部变量:
定义在函数内部的变量称为局部变量(函数的形参也是局部变量),局部变量只能在函数内部使用,只有在函数调用时才能够被创建,在函数调用之后会动销毁。
全局变量
定义在函数外部,模块内部的变量称为全局变量,所有的函数都可以直接访问全局变量(但函数内部不能将其直接赋值)
在函数内首次对变量赋值是创建局部变量,再次为变量赋值是修改局部变量的绑定关系,在函数内部的赋值语句不会对全局变量造成影响。
局部变量只能在其被声明的函数内部访问,而全局变量可以在整个模块范围内访问。
二:globals和locals函数
1、globals()返回当前全局作用域内变量的字典。(当全局和局部同名的时候)
2、locals() 返回当前局部作用域内为变量的字典。
示例:
a = 1
b = 2
c = 3
def f1(c, d)
e = 300
print(‘local()返回:’, local())
print(‘globals()返回:’, globals())
f1(100, 200)
三:函数变量
函数名是变量,它在创建函数时绑定一个函数。可用作变量的交换绑定关系
示例:
一个函数可以作为另一个函数的参数传递。
示例:
四:函数的返回值
函数可以返回另一个函数。
示例:
五:练习
写一个计算器解释执行器:
已知有如下函数:
def myadd(x, y): #计算两个数相加
return x + y
def mymul(x. y): #计算两个数相乘
return x * y
def get_op(s): #代表操作字符串:’加’, ‘乘’
主函数:
def main():
while True:
s = input(‘请输入计算公式:’)
L = s.split()
a, s, b = L
fn = get_op(s)
print(‘结果是:’, fn(a, b)) --》代码如下图:
推荐我们的Python学习扣qun:784758214 ,看看前辈们是如何学习的!从基础的python脚本到web开发、爬虫、django、数据挖掘等【PDF,实战源码】,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!每天都有大牛定时讲解Python技术,分享一些学习的方法和需要注意的小细节,点击加入我们的 python学习者聚集地
总结:
我们通常说的函数也是一个变量,与变量等价交换一样,也可以实现交换绑定,而且函数的变量还有全局和局部之分,全局变量无论在哪都可以调用,但局部变量只用在内部函数里面才能用,而且函数还能作为参数返回另一个函数。这就是函数的