本文实例讲述了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 func函数用法_python函数局部变量用法实例分析相关推荐

  1. python socket通信 多进程_python实现多进程通信实例分析

    操作系统会为每一个创建的进程分配一个独立的地址空间,不同进程的地址空间是完全隔离的,因此如果不加其他的措施,他们完全感觉不到彼此的存在.那么进程之间怎么进行通信?他们之间的关联是怎样的?实现原理是什么 ...

  2. python进程socket通信_python实现多进程通信实例分析

    操作系统会为每一个创建的进程分配一个独立的地址空间,不同进程的地址空间是完全隔离的,因此如果不加其他的措施,他们完全感觉不到彼此的存在.那么进程之间怎么进行通信?他们之间的关联是怎样的?实现原理是什么 ...

  3. python遍历文件对象_Python文件常见操作实例分析【读写、遍历】

    本文实例讲述了Python文件常见操作.分享给大家供大家参考,具体如下: 1.文件是什么? 文件是存储在外部介质上的数据或信息集合,程序中源程序.数据中保存的数据.图像中的像素数据等等: 文件是有序的 ...

  4. python避免mysql死锁_python避免死锁方法实例分析

    本文实例讲述了python避免死锁方法.分享给大家供大家参考.具体分析如下: 当两个或者更多的线程在等待资源的时候就会产生死锁,两个线程相互等待. 在本文实例中 thread1 等待thread2释放 ...

  5. python的用途实例-python中pass语句意义与作用(实例分析)

    想必大家都是刚刚才开始接触python这门语言的,今天这篇文章就来带大家来了解一下python这门语言之中常常会用到的一个语句pass语句.想必大家都很好奇python中pass作用是什么,接下来我就 ...

  6. python怎么模拟浏览器交互_干货分享:python爬虫模拟浏览器的两种方法实例分析(赶紧收藏)...

    今天为大家带来的内容是:干货分享:python爬虫模拟浏览器的两种方法实例分析(赶紧收藏) 文章主要介绍了python爬虫模拟浏览器的两种方法,结合实例形式分析了Python爬虫模拟浏览器的两种常见操 ...

  7. python所有函数用法_python函数用法总结

    空函数 如果想定义一个什么事也不做的空函数,可以用pass语句: def nop(): pass pass语句什么都不做,那有什么用?实际上pass可以用来作为占位符,比如现在还没想好怎么写函数的代码 ...

  8. python中insert()函数的用法_Python list insert()用法及代码示例

    insert()是Python中的内置函数,可将给定元素插入列表中的给定索引. 用法: list_name.insert(index, element) 参数: index - the index a ...

  9. python所有函数用法_Python函数使用方法(高级用法)

    前面章节,已经介绍了 Python 函数的所有基本用法和使用注意事项.但是,Python 函数的用法还远不止此,Python 函数还支持赋值.作为其他函数的参数以及作为其他函数的返回值. 首先,Pyt ...

最新文章

  1. 允许用户在web Interface上修改密码
  2. 腾讯:我就是那只吃了假辣椒酱的憨憨。老干妈:企鹅你可长点心吧!
  3. python一个月能学成嘛-学过 Python 的人没有告诉你,年入百万有多难
  4. 常见的面向对象的面试题(附答案)
  5. linux declare大小写,关于linux:将用户输入转换为大写
  6. word 公式编号 右侧对齐_写论文要求公式居中编号右对齐的方法
  7. 信息学奥赛一本通(1085:球弹跳高度的计算)
  8. 星际通讯+基于区块链的价值共享互联网即时通讯应用平台
  9. 80 个例子,彻底掌握Python日期时间处理
  10. springboot 扫描jar包中bean_详解Spring Boot的Component Scan原理
  11. 手机问题点整理和总结
  12. http://wenku.baidu.com/view/d6433106a6c30c2259019e63.html
  13. python人机猜拳游戏代码_python 实现人和电脑猜拳的示例代码
  14. java学习路线 Java学习路线
  15. 解决导出CSV文件乱码的问题
  16. 开源项目智慧教室:考试作弊系统、动态点名等功能
  17. 最简便的lightGBM GPU支持的安装、验证方法
  18. HTML学习笔记之类、布局、响应式设计(九)
  19. 低代码平台:既要信息开放,又要信息安全
  20. ajax脚本下载_E4X的AJAX和脚本Web服务,第1部分

热门文章

  1. 由《编程之美》想到的
  2. 高级软件工程第四次作业:东理三剑客团队项目
  3. 如何获取大量廉价可靠代理IP地址?
  4. 【目标检测】0、目标检测方法发展综述
  5. MySQL复制表结构,表数据。
  6. AWS强烈反击Elastic,欲打造自己的Elasticsearch开源产品OpenSearch
  7. android 手电筒 开源,Android 手电筒
  8. Android listview中Edittext软键盘自动切换到中文键盘
  9. java 阶乘后几位,java阶乘计算获得结果末尾0的个数代码实现
  10. 大数据有哪些软件可以使用?