0

我正在遵循本指南,但无法使用基本功能。

birthday2.py

def happyBirthdayEmily(): #program does nothing as written
    print("Happy Birthday to you!")
    print("Happy Birthday to you!")
    print("Happy Birthday, dear Emily.")
    print("Happy Birthday to you!")

因此,按照指南,我输入以下内容:

>>>import birthday2
>>>happyBirthdayEmily

这是我得到的错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'happyBirthdayEmily' is not defined

我在这里想念什么?

4

3 回答 3

4

你应该做:

>>>import birthday2
>>>birthday2.happyBirthdayEmily()

或者:

>>>from birthday2 import happyBirthdayEmily
>>>happyBirthdayEmily()

或者:

>>>from birthday2 import *
>>>happyBirthdayEmily()

在此处阅读有关模块的更多信息

于 2012-11-03T17:14:57.970 回答
3

您在后面缺少括号happyBirthdayEmily和模块引用。像这样做:

>>>birthday2.happyBirthdayEmily()

括号将其标识为函数调用,birthday2.开头只是说“使用模块中的函数” happyBirthdayEmily()birthday2它的结构是这样的,因为如果你有另一个birthday2也被调用happyBirthdayEmily()的函数(不是 in ),python 解释器基本上不知道要使用哪个函数。

于 2012-11-03T17:14:24.183 回答
2

您需要使用全名:

birthday2.happyBirthdayEmily()

并包含()括号以调用该函数。

或者,您可以稍微不同地导入它:

from birthday2 import happyBirthdayEmily

将函数导入本地命名空间。

于 2012-11-03T17:15:09.973 回答