Skip to main content
 首页 » 编程设计

python之获取 __init__ 变量

2025年05月04日17落叶无声

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__函数可以访问那里的那些。