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__
获取变量?
答案 0 :(得分:6)
你做不到。 direction
是__init__
函数的 local 变量,并且在该函数之外不可用。
该变量未被使用甚至;它可以从函数中删除,没有任何改变。
__init__
方法用于在新创建的实例上设置属性,但您的second
类似乎想要在first
类上找到属性相反。您也不能这样做,因为您要访问的属性仅在__init__
中设置。您只能在position
的实例上找到first
,而不能在first
类本身上找到。{/ p>
也许您想先初始化父类,并实际将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__
功能可以访问那些属性。