我正在通过书本和网络学习python,我陷入了一个课堂问题。
2个问题:如何在另一个(单独的)类中创建一个类的实例?
如何在类和嵌套之间传递变量上课?
当我试图在另一个(独立的)类中创建一个类的实例时,我可以在一个方法中这样做。代码如下:import os
class FOO():
def __init__(self):
self.values = [2, 4, 6, 8]
def do_something(self, x, y):
os.system("clear")
z = self.values[x] * self.values[y]
print "%r * %r = %r" % (self.values[x], self.values[y], z)
class BAR():
def __init__(self):
pass
def something_else(self, a, b):
foo1 = FOO()
foo1.do_something(a, b)
bar = BAR()
bar.something_else(1, 2)
但是,这是否允许我访问FOO类以及其他BAR方法中的信息?如果是,怎么做?
我尝试了以下操作,但出现错误:import os
class FOO():
def __init__(self):
self.values = [2, 4, 6, 8]
def do_something(self, x, y):
os.system("clear")
z = self.values[x] * self.values[y]
print "%r * %r = %r" % (self.values[x], self.values[y], z)
class BAR():
def __init__(self):
foo1 = FOO()
def something_else(self, a, b):
foo1.do_something(a, b)
bar = BAR()
bar.something_else(1, 2)
错误如下:Traceback (most recent call last):
File "cwic.py", line 22, in
bar.something_else(1, 2)
File "cwic.py", line 19, in something_else
foo1.do_something(a, b)
NameError: global name 'foo1' is not defined
我在使用时也会遇到同样的错误:def __init__(self):
self.foo1 = FOO()
另外,我应该如何将“值”从一个类传递到另一个类?
请让我知道我的一般方法和/或语法是否错误。任何和所有的建议(包括良好的阅读)欢迎,因为我只是学习。谢谢。