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

———————————————————————————————————

最新文章

  1. 红黑树——算法导论(15)
  2. Swift enum(枚举)使用范例
  3. unsilder中的jq深入学习
  4. typeof,GetType
  5. 在Ubuntu上安装LAMP服务器
  6. uva 1572 self-assembly ——yhx
  7. R-squared是什么意思
  8. iOS开发几年了,你清楚OC中的这些东西么!!!?
  9. (转)Mysql数据库读写分离配置
  10. java学习面向对象之匿名内部类
  11. jQuery EasyUI中常常遇到的问题(FAQ)
  12. (各个公司面试原题)在线做了一套CC++综合測试题,也来測一下你的水平吧(二)
  13. PAT (Advanced Level) 1028. List Sorting (25)
  14. JAVA设计模式——开篇
  15. 阿里云ACE深圳同城会 开始报名
  16. XML DOM 节点类型(Node Types)
  17. python GIL 全局锁,多核cpu下的多线程性能究竟如何?
  18. day 25 udp, socketserver
  19. Hadoop源码阅读-HDFS-day2
  20. Java:Linux上java -jar xxx.jar&java -cp 区别

热门文章

  1. 内网安装ubuntu包
  2. Unity AssetBundles and Resources指引 (二) Resources文件夹
  3. 最小二乘拟合(转)good
  4. (原创)robotium自学笔记
  5. 学习练习 java 二分查找法
  6. 学习总结 HTML简单应用
  7. 详解Ossim 4.3控制台
  8. PHP isset()与empty()的区别
  9. kickstrat
  10. js中的条件语句