【问题标题】:Already defined function cannot use in idle?已经定义的函数不能在空闲时使用?
【发布时间】:2021-09-22 00:06:36
【问题描述】:

我有一个简单的程序,我正在尝试用 python 学习。我已经这样定义了函数

>>> def area(base, height):
        return base * height /2

当我尝试使用该功能时

>>> area(3,4)

我收到这个错误,说它没有定义。

Traceback (most recent call last):
 File "<pyshell#3>", line 1, in <module>
area(3,4)
NameError: name 'area' is not defined

我错过了重要的一步吗?

【问题讨论】:

  • 看来你开始在新的shell中工作了,最好使用声明函数的shell
  • File "&lt;pyshell#3&gt;", line 1, in &lt;module&gt; 似乎暗示您正在使用全新的 REPL...
  • 即使我直接在它下面输入 area(3,4) ,它也会给我同样的错误。 idle 中是否有在行之间创建新 shell 的设置?
  • 难以置信。可能是屏幕截图可以提供帮助的少数情况之一,让我们了解您的实际操作。
  • @Kevin 在进入return base * height /2 行后按回车两次。第一次完成生产线本身,第二次完成功能。然后尝试再次拨打area(3,4)。这能解决你的问题吗?

标签: python function python-idle defined


【解决方案1】:

能够重新启动 IDLE 的 shell 是一项功能。它可以清除所有内容,而无需退出 python 并重新启动。当您从编辑器运行文件时,它的主要用途是自动的。 (可以使用Run Custom ... 阻止重启。)

必须以空行结束交互式复合语句不是 IDLE 特定的。以下来自交互式python。出于同样的原因,IDLE 会模仿这一点。

>>> def area():
...     return 3
... area()
  File "<stdin>", line 3
    area()
    ^^^^
SyntaxError: invalid syntax

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-02
    • 2016-02-09
    • 2012-09-28
    • 2012-07-09
    • 2018-09-12
    • 1970-01-01
    相关资源
    最近更新 更多