[转载] 在python中、关于全局变量和局部变量、以下_python中的全局变量和局部变量
参考链接: Python全局,局部和非局部变量
1. 使用局部变量
deffunc(x):
print'x is', x
x =2
print'Changed local x to', x
x =50
func(x)
print'x is still', x
x is 50
Changed local x to 2
x is still 50
在函数中,我们第一次使用x的值的时候,Python使用函数声明的形参的值。
接下来,我们把值2赋给x。x是函数的局部变量。所以,当我们在函数内改变x的值的时候,在主块中定义的x不受影响。
在最后一个print语句中,我们证明了主块中的x的值确实没有受到影响。
2. 利用global关键字使用全局变量
如果你想要为一个定义在函数外的变量赋值,那么你就得告诉Python这个变量名不是局部的,而是全局的。我们使用global语句完成这一功能。没有global语句,是不可能为定义在函数外的变量赋值的。
你可以使用定义在函数外的变量的值(假设在函数内没有同名的变量)。然而,我并不鼓励你这样做,并且你应该尽量避免这样做,因为这使得程序的读者会不清楚这个变量是在哪里定义的。使用global语句可以清楚地表明变量是在外面的块定义的。
deffunc():
globalx
print'x is', x
x =2
print'Changed local x to', x
x =50
func()
print'Value of x is', x
x is 50
Changed global x to 2
Value of x is 2
global语句被用来声明x是全局的——因此,当我们在函数内把值赋给x的时候,这个变化也反映在我们在主块中使用x的值的时候。
你可以使用同一个global语句指定多个全局变量。例如global x, y, z。
[转载] 在python中、关于全局变量和局部变量、以下_python中的全局变量和局部变量相关推荐
- python的作用域分别有几种_python中作用域与函数嵌套
知识回顾: 拆解传参. 1.字典传参.使用** 2.列表传参.使用* 实际上我们在定义函数的时候,如果省略了星号,那么在调用函数的时候必须要省略星号,除非我们拆解后的参数个数刚好相等. 视频内容 本节 ...
- python中的global是什么意思_Python中的global关键字,你了解吗?
前言 今天来了解下 Python 中的 global 关键字. Python变量的作用域 实战案例演示之前,先要了解下 Python 的作用域. 曾经在闭包的文章 <python小课堂26 - ...
- python 函数参数前面两个星号_Python中参数前面一个星号两个星号(*参数,**参数)起什么作用呢?...
摘要: 下文讲述Python中参数前面一个星号两个星号的功能分享,如下所示: 在Python语言中,我们经常看见参数前面 加上一个星号或两个星号 那么这些写法到底起什么作用呢? 下文将一一道来,如下所 ...
- python中转义符的用法大全_Python中的各种转义符\n\r\t
Python中属性和描述符的简单使用 Python的描述符和属性是接触到Python核心编程中一个比较难以理解的内容,自己在学习的过程中也遇到过很多的疑惑,通过google和阅读源码,现将自己的理解和 ...
- python列表前加星号是什么_Python中的星号:用途及使用方法(1)
Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 原作者:Trey Hunner Python中 *和**很常见.无论是对于编程萌新还是许多从其他编程语言( ...
- python新式类和经典类区别_Python中新式类和经典类的区别,钻石继承
1)首先,写法不一样: class A: pass class B(object): 2)在多继承中,新式类采用广度优先搜索,而旧式类是采用深度优先搜索. 3)新式类更符合OOP编程思想,统一了pyt ...
- python之33个关键字详解_Python 中的关键字 with 详解
在 Python 2.5 中,with关键字被加入.它将常用的 try ... except ... finally ...模式很方便的被复用.看一个最经典的例子: with open('file.t ...
- python中字典和集合的区别_Python中字典和集合学习小结
映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元组等 包含可变对象的列表. ...
- python异常处理时所使用的保留字_Python中,下列哪个保留字不用于异常处理______________。_学小易找答案...
[单选题]维持细胞生存所必需的最基本的基因是 ( ) [单选题]从体细胞克隆高等哺乳动物的成功说明了 ( ) [单选题]细胞决定与细胞分化的关系是 ( ) [多选题]一种类型的分化细胞转变成另-种类型 ...
- python中的列表是指针吗_Python中的指针——到底指什么(二)
在 Python中的指针--到底指什么(一) 中,我们知道在Python的一切都是对象,变量其实是指向PyObject对象的名称,对不可变变量进行操作后,名称指向了另一个PyObject. 扣留对象 ...
最新文章
- Python基础学习!基本元素,数字,字符串以及变量
- Linux系统管理学习路线图
- 2014年3月29日缅甸将举行人口普查
- tensorflow 标准数据读取 tfrecords
- 计算机视觉会议与专家(重排版)
- CodeForces 558A,B
- Exynos4412裸机开发——中断处理
- 程序员的毕业设计,时隔一年,仍感觉头秃
- Less 混合(mixin)
- Android字数限制的EditText实现方案研究
- Sql Server远程连接
- maven本地安装jar
- EasyUI:Parser 解析器
- python遗传算法工具箱的使用_Deap: python中的遗传算法工具箱
- 视频中的字幕如何提取为文本
- ramda_使用Ramda.js进行动手功能编程
- 四次重启共享充电宝业务 美团终结“三电一兽”格局预言会成真吗?
- CF1463-D. Pairs
- 51单片机入门教程(3)——数码管显示学号
- drds的update使用
热门文章
- 东南大学成贤学院计算机报名,2019上半年东南大学成贤学院全国计算机等级考试预报名通知...
- 【CCCC】L3-009 长城 (30分),计算几何+凸包,极角排序
- 2020 年百度之星·程序设计大赛 - 测试赛1001 度度熊保护村庄
- keepass+onedrive打造密码管理器
- 【Luogu3371】【模板】单源最短路径(SPFA)
- 计算机硬件知识大赛,计算机知识技能大赛.doc
- JavaScript函数的声明以及调用(1)
- android 层叠轮播,vue手写一个卡片化层叠轮播(支持滑动,移动端连续滚动,点击)...
- css设置按钮竖直方向居中_button内flex垂直居中竟然不居中的解决
- c++ memset 语言_C/C++ 中memset() 函数详解及其作用介绍