python函数局部变量用法实例分析


Posted in Python onAugust 04, 2015

本文实例讲述了python函数局部变量用法。分享给大家供大家参考。具体分析如下:

当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是 局部 的。这称为变量的 作用域 。所有变量的作用域是它们被定义的块,从它们的名称被定义的那点开始。

一、使用局部变量

示例如下:

#!/usr/bin/python
# Filename: func_local.py
def func(x):
  print 'x is', x
  x = 2
  print 'Changed local x to', x
x = 50
func(x)
print 'x is still', x

输出:

$ python func_local.py
x is 50
Changed local x to 2
x is still 50

工作原理:

在函数中,我们第一次使用x的 值 的时候,Python使用函数声明的形参的值。
接下来,我们把值2赋给x。x是函数的局部变量。所以,当我们在函数内改变x的值的时候,在主块中定义的x不受影响。
在最后一个print语句中,我们证明了主块中的x的值确实没有受到影响。

二、使用global语句

如果你想要为一个定义在函数外的变量赋值,那么你就得告诉Python这个变量名不是局部的,而是 全局 的。我们使用global语句完成这一功能。没有global语句,是不可能为定义在函数外的变量赋值的。

你可以使用定义在函数外的变量的值(假设在函数内没有同名的变量)。然而,我并不鼓励你这样做,并且你应该尽量避免这样做,因为这使得程序的读者会不清楚这个变量是在哪里定义的。使用global语句可以清楚地表明变量是在外面的块定义的。

使用global语句示例:

#!/usr/bin/python
# Filename: func_global.py
def func():
  global x
  print 'x is', x
  x = 2
  print 'Changed local x to', x
x = 50
func()
print 'Value of x is', x

输出:

$ python func_global.py
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入门教程之if语句的用法
May 14 Python
关于Django显示时间你应该知道的一些问题
Dec 25 Python
Django实战之用户认证(初始配置)
Jul 16 Python
Python 加密与解密小结
Dec 06 Python
Python 3.3实现计算两个日期间隔秒数/天数的方法示例
Jan 07 Python
对python 判断数字是否小于0的方法详解
Jan 26 Python
python for 循环获取index索引的方法
Feb 01 Python
python pandas cumsum求累计次数的用法
Jul 29 Python
Django中URL的参数传递的实现
Aug 04 Python
python爬虫模块URL管理器模块用法解析
Feb 03 Python
python3利用Axes3D库画3D模型图
Mar 25 Python
Python3.8安装Pygame教程步骤详解
Aug 14 Python
python删除列表内容
Aug 04 #Python
解决Python传递中文参数的问题
Aug 04 #Python
Python利用ansible分发处理任务
Aug 04 #Python
合并百度影音的离线数据( with python 2.3)
Aug 04 #Python
python利用datetime模块计算时间差
Aug 04 #Python
使用python加密自己的密码
Aug 04 #Python
Python实现字典的key和values的交换
Aug 04 #Python
You might like
PHP读取RSS(Feed)简单实例
2014/06/12 PHP
php禁用cookie后session设置方法分析
2016/10/19 PHP
php正则去除网页中所有的html,js,css,注释的实现方法
2016/11/03 PHP
php查询及多条件查询
2017/02/26 PHP
thinkPHP简单调用函数与类库的方法
2017/03/15 PHP
PHP编程实现微信企业向用户付款的方法示例
2017/07/26 PHP
PHP编程获取图片的主色调的方法【基于Imagick扩展】
2017/08/02 PHP
Laravel学习教程之IOC容器的介绍与用例
2017/08/15 PHP
PHP 99乘法表的几种实现代码
2020/10/13 PHP
JavaScript encodeURI 和encodeURIComponent
2015/12/04 Javascript
jQuery实现简单的网页换肤效果示例
2016/09/18 Javascript
JS+CSS3制作炫酷的弹窗效果
2016/11/08 Javascript
JS实现批量上传文件并显示进度功能
2017/06/27 Javascript
js判断用户是输入的地址请求的路径(实例讲解)
2017/07/18 Javascript
微信小程序中添加客服按钮contact-button功能
2018/04/27 Javascript
vue-cli系列之vue-cli-service整体架构浅析
2019/01/14 Javascript
微信小程序实现拼图小游戏
2020/10/22 Javascript
python模拟登陆Tom邮箱示例分享
2014/01/13 Python
python中global用法实例分析
2015/04/30 Python
Python浅拷贝与深拷贝用法实例
2015/05/09 Python
python在控制台输出进度条的方法
2015/06/20 Python
在win64上使用bypy进行百度网盘文件上传功能
2020/01/02 Python
Python基于Twilio及腾讯云实现国际国内短信接口
2020/06/18 Python
python如何安装下载后的模块
2020/07/03 Python
Python爬虫实现selenium处理iframe作用域问题
2021/01/27 Python
css3隔行变换色实现示例
2014/02/19 HTML / CSS
CSS3网格的三个新特性详解
2014/04/04 HTML / CSS
纯css实现照片墙3D效果的示例代码
2017/11/13 HTML / CSS
html5标记文字_动力节点Java学院整理
2017/07/11 HTML / CSS
美国高档帽子网上商店:Hats.com
2018/08/09 全球购物
Juice Beauty官网:有机美容产品,护肤与化妆品
2020/06/13 全球购物
关于雷锋的演讲稿
2014/05/10 职场文书
小学生迎国庆演讲稿
2014/09/05 职场文书
申报优秀教师材料
2014/12/16 职场文书
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
2021/04/14 Python
纯CSS如何禁止用户复制网页的内容
2021/11/01 HTML / CSS