我正在关注this guide,但我无法使用基本功能。
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
我在这里缺少什么?
答案 0 :(得分:4)
你应该这样做:
>>>import birthday2
>>>birthday2.happyBirthdayEmily()
或:
>>>from birthday2 import happyBirthdayEmily
>>>happyBirthdayEmily()
或:
>>>from birthday2 import *
>>>happyBirthdayEmily()
详细了解模块here
答案 1 :(得分:3)
您在happyBirthdayEmily
和模块参考后缺少括号。这样做:
>>>birthday2.happyBirthdayEmily()
parens将其识别为函数调用,并且开头的birthday2.
只是说“使用happyBirthdayEmily()
模块中的函数birthday2
”。这是这样的结构,因为如果你有另一个函数(不在birthday2
中)也称为happyBirthdayEmily()
,python解释器基本上不知道使用哪一个。
答案 2 :(得分:2)
您需要使用全名:
birthday2.happyBirthdayEmily()
并包含()
parethesis来调用该函数。
或者,您可以略有不同地导入它:
from birthday2 import happyBirthdayEmily
将函数导入本地名称空间。