Python学习教程(learning Python)--2.2.2 Python全局和局部变量
Python的变量也有全局和局部变量之分。
1. 局部变量
用在子函数里的变量称之为局部变量,其生命周期为该函数执行周期,即函数执行完后变量即不存在。由于局部变量和某个函数直接相关,故不同子函数里可以定义相同名的变量,互相互不影响。请看下例。
def fun1() x = 12; print(x) def fun2() x = 13; print(x) fun1() fun2()
子函数fun1执行结果是打印x的值为12,子函数fun2打印的x的值为13.1-3行为fun1函数的定义,4-6行定义了函数fun2。第7行是调用fun1函数,第8行调用fun2函数。
2. 全局变量
与局部变量相对的概念是全局变量,全局变量不专属于某个子函数,所有函数均可使用全局变量,它的生命周期是整个程序执行期间。需要注意的是子函数里如果有对全局变量进行修改,在修改语句前必须用global声明这个变量是全局变量;如果子函数仅仅是读这个全局变量,可不用global声明。
def pprint():
x = 12
print(x)
global z
print("p")
z = z + 10
def oprint():
x = 13
print(x)
print("o")
print(z)
z = 15
pprint()
oprint()
看pprint函数里,由于有z = z + 10的写z操作,在修改z之前必须声明z是全局变量,否则pprint函数会把z看作自己的局部变量;而在oprint函数里print函数仅仅是读z的值,此时不需要声明z是全局变量。
智普教育Python www.jeapedu.com
———————————————————————————————————
Python学习教程(learning Python)--2.2.2 Python全局和局部变量的更多相关文章
- python学习教程,史上最全面的python学习路线图
Python 是Web 开发.游戏脚本.计算机视觉.物联网管理和机器人开发的主流语言之一,随着Python用户可以预期的增长,它还有机会在多个领域里登顶.Python学习路线分享给你. 阶段一是Pyt ...
- Python学习教程(learning Python)--2.3.5 Python返回多个值问题
本节主要学习Python的函数是如何同时返回多个值的问题. 在学习Python的时候惊奇的发现,Python的函数可以同时返回多个值,很有意思. #define function sum def su ...
- Python学习教程(learning Python)--3.3.4 Python的if-elif-else语句
Python的if-elif-else语句用于多种条件判断后选择某个语句块执行.该语句可以利用一系列条件表达式进行检查,并在某个表达式为真的情况下执行相应的代码.需要注意的是,虽然if/elif/el ...
- Python学习教程(learning Python)--3.3.3 Python逻辑关系表达式
在if分支判断语句里的条件判断语句不一定就是一个表达式,可以是多个(布尔)表达式的组合关系运算,这里如何使用更多的关系表达式构建出一个比较复杂的条件判断呢?这里需要再了解一下逻辑运算的基础知识.逻辑关 ...
- Python学习教程(learning Python)--3.3.2 Python的关系运算
如果if的condition不用布尔表达式来做条件判断而采用关系表达式,实际上关系表达式运算的结果要么是True要么是False.下面我们先了解一些有关关系运算符的基础知识,如下表所示. 做个小程序测 ...
- Python学习教程(learning Python)--3.3.1 Python下的布尔表达式
简单的说就是if要判断condition是真是假,Python和C语言一样非0即真,所以如果if的condition是布尔表达式我们可以用True或者非0数(不可是浮点数)表示真,用False或者0表 ...
- Python学习教程(learning Python)--3.3 分支语句的条件表达式详解
本节主要讨论分支语句的条件表达式问题. 在if或者if-else分支控制语句里由于都用到条件判断(表达式是真还是假),条件判断可以是一种关系运算也可以是布尔表达式. 本节将对if及if-else语句的 ...
- Python学习教程(learning Python)--3.2 if-else分支语句
if-else分支语句结构的特点是当conditon条件满足时,执行if下的语句块,当condition条件不满足时执行else下的语句块,也就是说根据条件来控制让某些语句执行,某些语句不被执行. i ...
- Python学习教程(learning Python)--3.1 Python的if分支语句
本节研究一下if分支语句. if分支语句是Python下逻辑条件控制语句,用于条件执行某些语句的控制操作,当if后的条件conditon满足时,if其下的语句块被执行,但当if的控制条件condito ...
随机推荐
- css3实现小米商城鼠标移动图片上浮阴影效果
今天在编程爱好者编码库看见一个好玩的程序,代码如下. <!DOCTYPE html> <html> <head> <meta charset=&quo ...
- EndNote文献管理
一直想写个博客,但是一直没有好好坐下来对自己工作进行一个梳理.从今天开始吧,争取多写一点. 今天,先介绍一下科技论文写作中经常使用的一款软件EndNote,这个软件,掌握它的使用方法后会觉得很方便:但 ...
- 【PL/SQL练习】基本的PL/SQL语句
1.无变量匿名快 begin dbms_output.put_line('Hello World'); end; 2.有变量的匿名块,定义变量: declare v_ename ); v_sal ,) ...
- jQuery 监控键盘一段时间内没输入
监控一段时间没输入可用于简单的输入完成 上次实现了一个模拟输入完成则发送请求到后台获取数据的并显示到前台的问题,其中核心的判断标准是输入完成的定义. 即:用户怎么算输入完成. 我使用的标准是,当一个文 ...
- b2c项目基础架构分析(一)b2c 大型站点方案简述 已补充名词解释
我最近一直在找适合将来用于公司大型bs,b2b b2c的基础架构. 实际情况是要建立一个bs架构b2b.b2c的网站,当然还包括wap站点.手机app站点. 一.现有公司技术人员现状: 1.熟悉asp ...
- HiveSQL解析过程详解 | 学步园
HiveSQL解析过程详解 | 学步园 http://www.xuebuyuan.com/2210261.html
- Apache虚拟主机配置(多个域名访问多个目录)
Apache虚拟主机配置(多个域名访问多个目录) 为了方便管理虚拟主机,我决定使用一种方法,那就是修改httpd-vhosts.conf文件. 第一步首先要使扩展文件httpd-vhosts.conf ...
- Sublime Text 2/3安装CTags实现函数跳转
安装ctags 下载 ctags程序,放到目录D:/ctags/下 安装ctags插件 1. 打开Sublime Text 2. Preferences->Package Control-> ...
- C# 和SQL Server 类型转换
/// <summary> /// 数据库中与C#中的数据类型对照 /// </summary> /// <param name="type"> ...
- linux mysql开启远程链接
x:\>mysql -u root -pvmware mysql> use mysql; mysql> update user set host = ‘%’ where user = ...