我正在遵循本指南,我无法获得基本功能。
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
将功能导入本地名称空间。