【问题标题】:I'm a beginner in Python, just wanted to know what is the difference between putting a variable before a function and inside a function?我是 Python 的初学者,只是想知道将变量放在函数之前和函数内部有什么区别?
【发布时间】:2020-03-28 15:36:51
【问题描述】:

两者有什么区别?

var=0 
def abc():

def abc():
    var=0

我对这个世界还很陌生,但我一直对 CS 充满热情。

【问题讨论】:

    标签: python function variables


    【解决方案1】:

    如果您将 var 放在函数之外,那么您的 cod 上的任何地方都可以看到,如果您放在函数下,您的 var 将仅在函数中以及使用该函数时可见

    var1 = 10
    def sum1(x):
        return x + var1 # var1 is global so can be accessed from other functions
    
    def sum2(x):
        var2 = 12
        return x + var2 # var2 can be only accessed from sum2 function
    
    def sum3(x):
        return var2 + x 
    
    print(sum1(10))
    print(sum2(10))
    print(sum3(10))
    

    输出:

    20
    22
    ---------------------------------------------------------------------------
    NameError                                 Traceback (most recent call last)
    <ipython-input-233-278acebe9c9f> in <module>
         12 print(sum1(10))
         13 print(sum2(10))
    ---> 14 print(sum3(10))
    
    <ipython-input-233-278acebe9c9f> in sum3(x)
          8 
          9 def sum3(x):
    ---> 10     return var2 + x
         11 
         12 print(sum1(10))
    
    NameError: name 'var2' is not defined
    

    如您所见,sum3 会抛出 NameError: name 'var2' is not defined,因为 var2 只能从 sum2 函数中看到

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-10
      • 2013-11-10
      • 1970-01-01
      • 2015-04-19
      • 2014-04-25
      • 2022-11-10
      • 2012-06-06
      • 1970-01-01
      相关资源
      最近更新 更多