example11.py 495 B

1234567891011121314151617181920212223
  1. """
  2. 变量的作用域以及Python搜索变量的顺序
  3. LEGB: Local --> Embedded --> Global --> Built-in
  4. global - 声明或定义全局变量(要么直接使用现有的全局作用域的变量,要么定义一个变量放到全局作用域)
  5. nonlocal - 声明使用嵌套作用域的变量(如果嵌套作用域没有对应的变量直接报错)
  6. """
  7. x = 100
  8. def foo():
  9. global x
  10. x = 200
  11. def bar():
  12. x = 300
  13. print(x)
  14. bar()
  15. print(x)
  16. foo()
  17. print(x)