全局和局部变量

Posted littlegreenorc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全局和局部变量相关的知识,希望对你有一定的参考价值。

# 全部变量 文件的任何地方都能调用,没有缩进
name = "hlf"


# 局部变量 子程序函数中定义的变量
def change_name():
global name # 前面加了global表示修改全局变量,后面的全局变量都是修改值
name01 = "ssy"
name = "帅的一笔" # 修改了全局的变量
print("name_change", name)


change_name()
# 优先调用局部变量
print(name)

name2 = "产品经理"


def name_ch():
name2 = "ceshi"
print("打印:", name2)


def name_kf():
global name2
print("name2=", name2)
name2 = "kaifa"
print("name2=", name2)


name_ch()
name_kf()
# 如果过函数中不存在global关键字,优先读取全局变量,无法对全局变量赋值
# 如果有global关键字,函数内的变量name2本质还是全局变量,可读取可赋值

name3 = ["chanl", "eehm"]


def name_3():
name3.append("xpand")
print(name3)


name_3()
# 没有加global,但是可以对可变类型,进行内部元素操作,比如列表中使用append添加了个元素

# name4 = "sst"
# def name_4():
# name4="ssm"
# global name4
# print (name4)
# #不能先写局部然后再写global,会报错

#############全局变量的变量名大写
#############局部变量的变量名小写

# #嵌套执行顺序
# NAME = "海风" ----1
#
#
# def huangwei():
# namex = "huangwei"----2.1
# print(namex) ----2.2
#
# def liuyang():
# namex = "liuyang" ----2.3.1
# print(namex) ----2.3.2
#
# def nulige():
# namex = "nulige" ----2.3.4.1
# print(namex) ----2.3.4.2
#
# print(namex) ----2.3.3
# nulige() ----2.3.4
#
# liuyang() ----2.3
# print(namex) ----2.4
#
#
# huangwei() ----2
#变量直接放在内存,函数放在内存编译了但是并没有执行,按照顺利执行,内部执行完了之后再执行外部

# namex2 = "钢梁"
#
#
# def weihou():
# namex2 = "zhenzhuo"
#
# def weihouhou():
# global namex2
# namex2 = "lengjing"
#
# weihouhou()
# print(namex2)
#
#
# print(namex2)
# weihou()
# print(namex2)
# #钢梁
# #执行wehou() 执行weihouhou() 将全局变量namex2 = “lengjing” 执行完后但是没有返回给外层,还是打印zhenzhuo
# #lengjing


namex2 = "钢梁"


def weihou():
namex2 = "zhenzhuo"

def weihouhou():
nonlocal namex2
namex2 = "lengjing"

weihouhou()
print(namex2)


print(namex2)
weihou()
print(namex2)
#nonlocal,指定就是一个上一级的变量,全局变量global找全局


























































































































以上是关于全局和局部变量的主要内容,如果未能解决你的问题,请参考以下文章

局部变量和全局变量

js中局部变量和全局变量的问题

全局变量 静态变量 局部变量 啥时候创建 啥时候撤销

局部变量和全局变量的区别

作用域,局部和全局变量

C语言中,局部变量和全局变量的问题