zoukankan      html  css  js  c++  java
  • 局部变量和全局变量

    函数内部没有global关键字:
    ①有声明局部变量:用函数内部自己的局部变量
    ②无声明局部变量:用函数外部的全局变量,虽然无法进行重新赋值,但对于可变类型的数据可进行内部数据的操作

    函数内部有global关键字:
    global声明全局变量时位于函数最前面

    函数内部有nonlocal关键字:
    nonlocal指定上一级变量

    全局变量用全大写,局部变量用全小写

     1 name = 'chen'
     2 def test():
     3     global name  #指向全局变量
     4     name = 'li'
     5     print(name)
     6 test()
     7 print(name)
     8 # li
     9 # li
    10 
    11 
    12 name  = 'chen'
    13 def change():
    14     name = 'liu'
    15     def change1():
    16         nonlocal name   #指定上一级变量
    17         name  = 'li'
    18         print(name)
    19     change1()
    20     print(name)
    21 change()
    22 print(name)
    23 # li
    24 # li
    25 # chen
    26 
    27 
    28 name='alex'
    29 def foo():
    30     name='lhf'
    31     def bar():
    32         name='wupeiqi'
    33         def tt():
    34             print(name)
    35         return tt
    36     return bar
    37 
    38 func=foo()  #bar地址作为返回值传给func===>func = bar
    39 print(func)
    40 func()()    #===>bar()()===>tt地址作为返回值传出来===>tt()==>print(name)
    41 # <function foo.<locals>.bar at 0x0000001C74519BF8>
    42 # wupeiqi
    43 
    44 name='alex'
    45 def foo():
    46     name='lhf'
    47     def bar():
    48         print(name)
    49     return bar
    50 
    51 func=foo()   #将bar地址作为返回值传给func====>func = bar
    52 print(func)
    53 func()       #bar()====>print(name)
    54 # <function foo.<locals>.bar at 0x0000001C74519B70>
    55 # lhf
    View Code
  • 相关阅读:
    Python编程-数据库
    Django框架之自定义分页
    Python编程-多线程
    Python编程-多进程二
    慕课学习--OSI与TCP/IP网络协议
    VMwaretools、共享文件夹、全屏
    Linux--慕课学习
    随想
    Linux--初次体验
    正则表达式——初次尝试
  • 原文地址:https://www.cnblogs.com/SakuraYuanYuan/p/10308298.html
Copyright © 2011-2022 走看看