zoukankan      html  css  js  c++  java
  • 【Python基础】python 作用域

    *python只会在模块、类和函数中引入新的作用域。

    *Python首先在函数的本地作用域中查找变量,未找到时会继续在全局作用域和内置作用域中查找变量

     

    code.1 和 code.2中是非常简单的例子。

     code.1

    1 i = 0
    2 def f():
    3     i = 1
    4     print i #   1
    5 
    6 f()
    7 print i  #  0

    code.2 

    1 i = 0
    2 def f():
    3     print i # 0
    4 f()

     在Python中,使用一个变量之前不必预先声明它,但是在真正使用它之前,它必须已经绑定到某个对象;而名字绑定将在当前作用域中引入新的变量,同时屏蔽外层作用域中的同名变量,不论这个名字绑定发生在当前作用域中的哪个位置。 

    如code.3中的情况,抛出异常

    code.3

    1 i = 0
    2 def f():
    3     print i  #UnboundLocalError: local variable 'i' referenced before assignment
    4     i = 0
    5 f()

       参考(搬运):

       http://www.cnblogs.com/frydsh/archive/2012/08/12/2602100.html

  • 相关阅读:
    [火柴排队]
    [NOI2001食物链]
    [黑科技]
    [SDOI2009HH的项链]
    [GXOI/GZOI2019旅行者]
    [Nim游戏]
    Log4Net
    C#创建windows服务并定时执行
    MySQL实现类似Oracle的序列
    DevExpress XtraTreeList的复选框 禁用
  • 原文地址:https://www.cnblogs.com/Hed-geh0g/p/7120477.html
Copyright © 2011-2022 走看看