zoukankan      html  css  js  c++  java
  • 函数与变量作用域

      全局变量 与 局部变量 与 闭包变量(介于两者之间的变量)

      global关键字:局部范围内更改全局变量(函数默认只能读取全局变量,不能修改)

      nonlocal关键字:嵌套函数中修改闭包变量(外层函数定义的变量相当于其语句块内的全局变量)

      

     1 i=1
     2 j=2
     3 print('全局变量:i=',i,'j=',j)
     4 
     5 def fun():
     6     global i,j #要想修改全局变量,需要先使用global关键字对其进行事先声明
     7     i=2
     8     j=3
     9 
    10 fun()
    11 print('调用fun,修改后的全局变量:i=',i,',j=',j)
    12 
    13 
    14 def fun1():
    15     i=0
    16     print('i='+str(i)+',在fun1中,是局部变量')
    17 
    18 fun1()
    19 print('i='+str(i)+',在函数外部,是全局变量')
    20 
    21 
    22 def fun2():
    23     k=2  #k为闭包变量(Closue),范围介于全局变量和局部变量之间,需要修改时使用nonlocal关键字先声明后修改
    24     def fun3():
    25         nonlocal k
    26         k = 3
    27         a=k+i
    28         return a
    29     print('fun2中,闭包变量k='+str(k))
    30     return fun3()
    31 
    32 print(fun2())
  • 相关阅读:
    linux中iptables的用法
    Git介绍及安装配置
    第一个shell脚本
    Nginx配置优化解读
    Python中print格式化输出
    python 程序构架浅析
    Python 常用字符串操作
    Python入门学习:网络刷博器爬虫
    vSphere SDK for Java
    vROPS中获取虚拟机在VC中的UUID
  • 原文地址:https://www.cnblogs.com/guoyujiang/p/11595011.html
Copyright © 2011-2022 走看看