Python局部变量与全局变量区别原理解析
作者:Yangyl_00 发布时间:2021-06-18 01:50:05
标签:python,局部,全局,变量
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实现图片识别汽车的具体代码,供大家参考,具体内容如下准备工作1、登陆开发者控制台2、安装 pip insta
- 在 python2 中,如果想要自定义评价标准的话,可以这么做def cmp(a, b): # 如果逻辑上认为 a < b ,返回 -
- 原则一:注意WHERE子句中的连接顺序: ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE
- 首先我们有一个数据是一个mn的numpy矩阵现在我们希望能够进行给他加上一列变成一个m(n+1)的矩阵import numpy as npa
- 1、登录mysqlmysql -uroot -p2、先查询都有哪些用户select host,user from mysql.user;红色
- 【原文地址】New "Orcas" Language Feature: Query Syntax 【原文发表日期】 Sa
- prompt命令可以在mysql提示符中显示当前用户、数据库、时间等信息mysql -uroot -p --prompt="\\u
- 场景:由于自己的电脑A性能不足,需要转移到一台高性能的主机B上运行python程序,但是该主机不能连接互联网。问题:在个人电脑A上建立了一个
- 近日在学习C++,看到函数指针,由于之前一直搞ASP,所以想ASP里面是否也有这个函数指针的东西,于是翻了翻VBScript手册,没让我失望
- 内部/内嵌函数1、定义:在一个函数的函数体内使用关键字def关键字定义一个新的函数,这个新的函数就叫做内部/内嵌函数。2、注意点:内部函数的
- 像素是计算机视觉中图像的重要属性。它们是表示图像 * 定空间中光的颜色强度的数值,是图像中数据的最小单位。图像中的像素总数是高度、宽度和通道的
- 在后台添加中一般我们都设置了一个“关键字”,而且一般输入可能如下: 娃娃,毛绒娃娃,日本充气娃娃 我们将根据这个来做,具体实现如下: 先看一
- 前言大家好,这次写作的目的是为了加深对数据可视化pyecharts的认识,也想和大家分享一下。如果下面文章中有错误的地方还请指正,哈哈哈!!
- 在开发Web应用时,无一例外地需要访问数据库,以完成对数据的查询、插入、更新、删除等操作。受应用逻辑的影响,有时需要将多条数据库操作指令组成
- 有些框架本身就支持多配置文件,例如Ruby On Rails,nodejs下的expressjs。python下的Flask虽然本身支持配置
- 一个等号是赋值操作,==先转换类型再比较,===先判断类型,如果不是同一类型直接为false。=== 判断规则如果类型不同,就[不相等]&n
- 本文实例讲述了thinkphp3.x连接mysql数据库的方法。分享给大家供大家参考,具体如下:惯例配置文件:ThinkPHP/conf/c
- 1、给定的日期格式相同,则使用简单的比较运算符来比较日期。<?php//声明两个日期、初始化$date1 = "2021-1
- 运动模糊:由于相机和物体之间的相对运动造成的模糊,又称为动态模糊Opencv+Python实现运动模糊,主要用到的函数是cv2.filter
- vue3给数组赋值丢失响应式的解决由于vue3使用proxy,对于对象和数组都不能直接整个赋值。只有push或者根据索引遍历赋值才可以保留r