基本功能不起作用 - >"未定义名称'生日快乐艾米丽'



我正在遵循本指南,我无法获得基本功能。

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

我在这里缺少什么?

您应该做:

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

或:

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

或:

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

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

您在happyBirthdayEmily之后缺少括号和模块参考。这样做:

>>>birthday2.happyBirthdayEmily()

parens将其识别为函数调用,一开始的birthday2.只是说:"使用birthday2模块中的函数happyBirthdayEmily()。"这是这样结构化的,因为如果您有另一个功能(不在birthday2中)也称为happyBirthdayEmily(),则Python解释器基本上不知道该使用哪个。

您需要使用全名:

birthday2.happyBirthdayEmily()

并包括 () darethesis以调用该功能。

另外,您可以将其导入略有不同:

from birthday2 import happyBirthdayEmily

将功能导入本地名称空间。

最新更新