Wie ist ein Instanzattribut des gleichen Typs wie der Instanztyp?Python

Python-Programme
Anonymous
 Wie ist ein Instanzattribut des gleichen Typs wie der Instanztyp?

Post by Anonymous »

Ich versuche, einer Klasse einer Klasse eine Variable zuzuweisen, so dass die Variable vom gleichen Typ ist. Ich möchte die Instanz selbst bei der Konstruktion der Variablen verwenden. Um mit der Vererbung kompatibel zu sein, möchte ich es eher als Selbst als in der Klasse eingeben.

Code: Select all

class Foo:

var: "Foo"

def bar(self) -> None:
self.var = self
Var wird jedoch als vom Typ foo anstelle von self gekennzeichnet. Was ich will ist: < /p>

Code: Select all

from typing import Self

class Foo:

var: Self

def bar(self) -> None:
self.var = self
< /code>
In diesem Fall gibt mir MyPy die folgende Nachricht: < /p>
error: Incompatible types in assignment (expression has type "Foo", variable has type "Self")  [assignment]
Eindeutig wird Self nicht als vom Typ self angesehen, sondern nur vom Typ foo .

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post