Python局部变量与全局变量区别原理解析
作者:Yangyl_00 时间:2021-06-18 01:50:05
1、局部变量
name = "Yang Li"
def change_name(name):
print("before change:",name)
name = "你好"
print("after change", name)
change_name(name)
print("在外面看看name改了么?",name)
输出:
before change: Yang Li
after change 你好
在外面看看name改了么? Yang Li
2、全局变量
NAME = "alex"
def yangjian():
global NAME # 已经声明,NAME就是全局的的那个变量
print('1我的名字', NAME)
NAME = "land" # 修改 全局的变量
print('2我的名字', NAME)
def qupengfei():
name = "yang"
print('3我的名字', NAME)
yangjian()
qupengfei()
输出:
1我的名字 alex
2我的名字 land
3我的名字 yang
######## 全局变量变量名大写
######## 局部变量变量名小写
#函数中 优先读取局部变量,能读取全局变量,无法对全局变量重新赋值;但是对于可变类型,可以对内部元素进行操作;如果函数中有global关键字,变量本质上就是全局的那个变量,可读取可赋值
3、nonlocal
name = "刚娘"
def weihou():
name = "陈卓"
def weiweihou():
nonlocal name # nonlocal,指定上一级变量,如果没有就继续往上直到找到为止
name = "冷静"
print(name)
weiweihou()
print(name)
print(name)
weihou()
print(name)
# 刚娘
# 陈卓
# 陈卓
# 刚娘
全局与局部变量
在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。
全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。
当全局变量与局部变量同名时:
在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。
函数返回值
要想获取函数的执行结果,就可以用return语句把结果返回
注意:
函数在执行过程中只要遇到return语句,就会停止执行并返回结果,so 也可以理解为 return 语句代表着函数的结束
如果未在函数中指定return,那这个函数的返回值为None
嵌套函数
name = "Alex"
def change_name():
name = "Alex2"
def change_name2():
name = "Alex3"
print("第3层打印",name)
change_name2() #调用内层函数
print("第2层打印",name)
change_name()
print("最外层打印",name)
来源:https://www.cnblogs.com/Yangyl00/p/13184956.html
标签:python,局部,全局,变量


猜你喜欢
Python编码时应该注意的几个情况
2021-03-15 20:59:54
Python 根据数据模板创建shapefile的实现
2023-07-27 00:10:32
关于golang中平行赋值浅析
2024-05-05 09:33:42
SQL SERVER日志进行收缩的图文教程
2024-01-27 13:09:16

C# Access数据库增删查改的简单方法
2024-01-22 08:41:07
javascript实现双端队列
2024-05-02 16:18:58
mysql复制表的几种常用方式总结
2024-01-25 12:11:59

运用python去除图片水印
2021-05-06 10:54:20

详解Python类和对象内容
2021-03-12 23:38:55

mysql8.0.23 linux(centos7)安装完整超详细教程
2024-01-18 23:59:43

Oracle数据库快照的使用
2010-07-28 13:32:00
浅谈一次与sql注入 & webshell 的美丽“邂逅”
2024-01-22 09:48:22

Python函数式编程指南:对生成器全面讲解
2022-09-26 05:56:17
python单向循环链表原理与实现方法示例
2023-10-07 08:39:06

利用Python找出序列中出现最多的元素示例代码
2023-01-19 09:54:43
Python下载网络小说实例代码
2023-08-01 18:22:17

Matlab求解数组中的最大值及它所在的具体位置
2023-08-11 18:55:11

golang游戏等资源压缩包创建和操作方法
2024-04-30 10:00:22
CSS中expression的用法
2008-09-11 14:18:00
Python与数据库的交互问题小结
2021-11-14 11:46:47