【问题标题】:What is the quick meaning of the terms print and return in Python?Python中的术语打印和返回的快速含义是什么?
【发布时间】:2020-07-10 05:09:35
【问题描述】:

我正在学习一些新东西,我无法通过阅读我的文字和在线查找来弄清楚整个返回过程。我相信我需要向我解释一次,让我把头绕在它周围。

这里的代码按预期工作;我希望用户输入一个数字,如果小于 0,则打印 0,如果大于或等于 0,则打印数字。

def positiveNumber():
    num = int(input("Please enter a number: "))
    if num <= 0:
        print("0")
    else:
        print(num)

positiveNumber()

不起作用的是我只希望函数返回值,然后只在我调用函数时给我答案。

def positiveNumber():
    num = int(input("Please enter a number: "))
    if num <= 0:
        return 0
    else:
        return num

positiveNumber()
print(num)

我的 shell 一直告诉我“name 'num' is not defined”。

【问题讨论】:

标签: python printing return


【解决方案1】:

这是有效的代码:

def positiveNumber():
    num = int(input("Please enter a number: "))
    if num <= 0:
        return 0
    else:
        return num

print(positiveNumber())

非常感谢!

【讨论】:

  • 感谢您的建议。我已经用复选标记更新了我使用的答案。
【解决方案2】:

变量num 在您的函数中定义。因此它只存在于函数的“范围”中。 当你调用函数时,你应该尝试

a = positiveNumber()
print(a)

返回值是您应该分配给变量以便使用的东西。 您的函数正在发回 num 的值 所以你可以

print(positiveNumber())

或者你可以将它存储在某个地方,然后使用它。 发生这种情况是因为名称 num 仅存在于函数内部,它被计算出来并返回 VALUE。因此,您可以直接打印此 VALUE,也可以将其存储在某个变量中然后使用它。

【讨论】:

    【解决方案3】:

    num 是一个仅存在于positiveNumber() 中的local variable。

    你想要:

    print(positiveNumber())
    

    【讨论】:

    • 那么,这是说我并没有真正调用我的函数吗?相反,我只是打印它的结果?
    • @Genoxidus 那是不正确的。您正在调用该函数。当函数终止时,它返回它的返回值,然后打印出来。
    猜你喜欢
    • 2019-11-28
    • 2010-10-11
    • 2019-07-13
    • 2018-12-11
    • 2014-02-12
    • 1970-01-01
    • 1970-01-01
    • 2014-08-12
    • 2023-01-03
    相关资源
    最近更新 更多