class first(object):
def __init__(self, room, speed):
self.position = room
self.speed = 20
direction = random.randint(0,359)
class second(first):
def __init__(self)
self.way = first.direction
self.now = first.self.position
我收到一个错误,如何从另一个类的 __init__ 获取变量?
请您参考如下方法:
你不能。 direction是 __init__ 的本地变量函数,并且在该函数之外不可用。
变量根本没有甚至没有被使用;它可以从函数中删除,不会有任何改变。
__init__方法旨在为新创建的实例设置属性,但是您的 second类似乎想在 first 上找到属性class 代替。您也不能这样做,因为您要访问的那些属性仅在 __init__ 中设置。 .你只能找到position在 first 的 实例 上, 不在 first 上类本身。
也许你想先初始化父类,然后实际存储position在 self :
class first(object):
def __init__(self, room, speed):
self.position = room
self.speed = 20
self.direction = random.randint(0,359)
class second(first):
def __init__(self, room, speed)
super(second, self).__init__(room, speed)
self.way = self.direction
self.now = self.position
现在self有 direction和 position定义的属性和您的 second.__init__函数可以访问那里的那些。
