【问题标题】:How does Python know I want to double number I did not define? (Beginner) [duplicate]Python如何知道我想将我没有定义的数字加倍? (初学者)[重复]
【发布时间】:2021-03-04 08:46:41
【问题描述】:
x = 10
def double(y):
    return 2 * x
print(double(x))

输出为 20 据我所知,它应该返回 None 因为在函数“double”中我将 x 加倍,这是未定义的块。

【问题讨论】:

  • 如果该变量未在函数中定义,则搜索包含范围。
  • 如果你删除 x=10 并使用 print(double(10)) 你会得到你“想要”的 NameError。第一个问题很好。

标签: python python-3.x


【解决方案1】:

x 在函数范围之外定义为全局变量,在函数中也可用

【讨论】:

    【解决方案2】:

    这是因为 x 是一个全局变量,所以当你调用 double 时,无论如何它只是将 x 乘以 2 如果你说放

    x = 10
    def double(y):
        return 2 * x
    print(double(40))
    

    当您返回变量 x 乘以 2 时,您仍然会得到 20。

    【讨论】:

    • 它也不会返回 None 它会抛出一个错误,因为 2 乘以 None 是不可能的。
    猜你喜欢
    • 1970-01-01
    • 2019-05-30
    • 1970-01-01
    • 2016-11-08
    • 1970-01-01
    • 2015-07-18
    • 2015-06-29
    • 2018-06-13
    • 2019-04-19
    相关资源
    最近更新 更多