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,局部,全局,变量
0
投稿

猜你喜欢

  • 使用DIV+CSS设计网页的好处

    2007-10-14 15:02:00
  • 最近写的一个asp缓存函数

    2008-11-25 14:07:00
  • Python列表删除所有出现元素的两种方法

    2023-03-05 23:24:08
  • python循环监控远程端口的方法

    2023-08-07 14:53:22
  • asp xml 缓存类

    2011-04-03 11:20:00
  • 使用Python脚本对Linux服务器进行监控的教程

    2022-06-19 18:27:26
  • XML教程 WEB页面工具语言XML的定义

    2008-05-29 10:54:00
  • 对Python函数设计规范详解

    2023-08-02 15:59:17
  • CSS扫盲(一): padding

    2009-08-04 17:58:00
  • Python 做曲线拟合和求积分的方法

    2021-03-03 01:46:07
  • python绘制多个曲线的折线图

    2021-08-01 13:58:52
  • Python函数中的全局变量详解

    2022-08-05 13:58:34
  • 隐藏并修改文件的最后修改时间的asp-webshell

    2009-02-28 13:31:00
  • Python-while 计算100以内奇数和的方法

    2022-03-24 12:00:39
  • Ubuntu20下的Django安装的方法步骤

    2022-05-01 09:07:24
  • python分布式编程实现过程解析

    2023-11-10 21:13:48
  • 刚学完怎么用Python实现定时任务,转头就跑去撩妹!

    2022-07-09 06:50:02
  • 深入解析Python中的变量和赋值运算符

    2023-10-13 20:58:53
  • 在Python中操作字符串之replace()方法的使用

    2021-03-15 14:10:59
  • 只需要这一行代码就能让python计算速度提高十倍

    2023-01-30 15:16:02
  • asp之家 网络编程 m.aspxhome.com