python笔记之变量(variable)

变量

局部变量
  1. 函数内部定义的变量叫做局部变量
  2. 不同函数之间,局部变量可以定义形同的名字,互不影响

作用范围:
函数内有效,其他函数不能直接使用

例如,

def set_name():name = "云端之上"print(name)def get_name():name = "星空之下"print(name)set_name()
get_name()

运行结果:

云端之上
星空之下

通过上述例子,我们可以发现:
1. 不同函数之间,局部变量可以定义相同的名字,互不影响
2. 上述函数中的name只在上个函数体内生效,其他函数内不生效

那么,如果我想在get_name中使用set_name中的name怎么办呢?
别急,我们可以使用下面的方法:

def set_name():name = "云端之上"return name  #1.返回namedef get_name(name):  #3.需要set_name中名字,所以定义参数print(name)a = set_name()   #2.调用函数返回一个值
get_name(a)  

运行结果:

云端之上
全局变量

定义在函数外部的变量就叫做全局变量.

作用范围:
可在不同的函数中使用

在函数内使用global关键字实现修改全局变量的值

在函数体外定义的全局变量:

name = "星空之下"
def set_name():print(name)def get_name():print(name)set_name()
get_name()
print(name)

运行结果:

星空之下
星空之下
星空之下

在函数体内定义的全局变量

age = 20
def chang_age():global age   #我们只需添加关键字glabal+变量名就可以,注意:列表和字典不可以用哦~age = 25print("函数体内的age是:%d"%age)chang_age()
print(age)

运行结果:

函数体内的age:25
25

那么如果我们的变量是字典或列表,我们应该如何去修改全局变量呢?很简单,我们只需要在使用前先调用一下函数,然后再进行操作就可以了!

g_list =[1,2,3]
g_dict = {"name":"马云","age":666}def update_info():g_list.append(4)g_dict["monery"] = "¥1"update_info()
print(g_list)
print(g_dict)

运行结果:

[1, 2, 3, 4]
{'name': '马云', 'age': 666, 'monery': '¥1'}

注意:
函数体外:局部变量
函数体外: 全局变量
全局变量在所有函数中使用
局部变量只能在所定义的函数中使用
如果在函数体内修改全局变量的值,使用 global 关键字
如果函数体内变量和全局变量相同,则判定它为和全局变量同名的局部变量

全局变量定义的位置:
函数定义之前或函数调用之前.


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部