名称空间和作用域.py 1004 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. # -*- coding: UTF-8 -*-
  2. """
  3. 在python中有各种各样的名称空间
  4. 全局名称空间:每个程序的主要部分定义了全局的变量名和变量值的对应关系
  5. 局部名称空间:在函数的运行中定义的临时的空间叫做局部名称空间,只可以被这个函数所有
  6. 内部名称空间:内置名称空间中存放了python解释器为我们提供的名字:input,print,str.....
  7. """
  8. # li = [] # 全局
  9. # for i in range(3):
  10. # pass
  11. # def foo():
  12. # a = 10 # 局部
  13. ###============ 优先级 ============###
  14. ###============ 局部空间 --> 全局空间 --> 内置空间============###
  15. # x = 1
  16. # def f1():
  17. # x = 10
  18. # print(x)
  19. # print(id)
  20. # f1() # 打印10, 先调用局部空间 --> 全局空间 --> 内置空间
  21. ###============ 注意 ============###
  22. # 在全局无法查看局部的,在局部可以查看全局的,如下示例
  23. def f2():
  24. id = 'ss'
  25. # id = '全局的' # 全局定义就找全局
  26. print(id) # 不能查看局部