经过几天的搜索和尝试不同的代码,我仍然无法找出我的问题。因此,我在这里发布了这个问题。
对于这个问题,我正在使用 Python 2.7.2 具体来说,我正在使用组合将一个类的函数导入另一个类。导入类的函数包括一个简单的 if 语句,基于raw_input
. 根据用户的输入,if 语句应该以某种方式调用或至少有助于调用与输入对应的新函数。但是,此函数将在导入的类的一部分中,而不是在导入的类中。
我在这里使用了两个 .py 文件,每个类一个,它们位于同一个文件夹中。
这是第一个文件(main.py),其中包括主类:
# importing class from file in same folder
from class_decision import Decision
class Main_Compositor(object):
def __init__(self):
# using composition to call the function of the imported class
self.door_decision = Decision()
def comp_door(self):
self.door_decision.user_text()
if door == "left":
left_door()
elif door == "right":
right_door()
else:
print "incorrect input"
def left_door(self):
print "you're in the left room"
def right_door(self):
print "you're in the right room"
# instantiating
A_Compositor = Main_Compositor()
# calling A_Compositor's function comp_door()
A_Compositor.comp_door()
这是正在导入其类的 class_decision.py 文件:
class Decision(object):
def user_text(self):
print "which door do you open:"
print "left or right?"
door = raw_input("> ")
if door == "left":
print "you have chosen the left door"
return door
elif door == "right":
print "you have chosen the right door"
return door
else:
print "you must choose a door"
self.user_text()
正如你所看到的,我试图Return
让主类知道变量door
。这可能是对Return
. 我也试过玩弄getattr
没有成功。如果这个问题被问了很多,我很抱歉。我的类似问题似乎都与数组有关,我无法通过他们的回答真正找出我的问题。谢谢您的帮助。