2015-06-17 15 views

Odpowiedz

8

Ta klasa nie istnieje dopóki program Python nie zakończy wykonywania całego kodu wewnątrz bloku klasy, w tym definicji metod.

Wystarczy użyć ciąg dosłownego zamiast, jak zasugerowano w PEP 484:

class Interval(object): 
    def __sub__(self, other: 'Interval'): 
     pass 

Należy pamiętać, że jest to całkowicie w porządku, aby odnieść się do tej klasy wewnątrz metodę:

class Interval(object): 
    def __sub__(self, other: 'Interval'): 
     Interval.do_something() 

To jest tylko problem, jeśli chcesz go użyć w sygnaturze metody lub bezpośrednio w bloku klasy.