Wir wissen, dass mit Notation:Bedingte Anweisungen in einer Klasse, aber außerhalb des Gültigkeitsbereichs der Funktion
class Foo(object):
a = 1
def __init__(self):
self.b = 2
def c(self):
print('c')
wir statische Variable Foo.a
erstellen können, ‚normale‘ Variable b
, die nach dem Erstellen und Instanz zur Verfügung stehen wird von Foo
und Verfahren c
Heute war ich wirklich überrascht, dass ich bedingte Anweisungen in einer Klasse verwenden können, aber außerhalb des Gültigkeitsbereichs der Funktion
class C():
if True:
a = 1
b = 2
Sprachen wie C++/Java, hat mich gelehrt, dass rechtliche Notation ähnelt:
class Name():
variable = <expression>
Könnten Sie andere Regeln beschreiben, die auf diesen speziellen Anwendungsbereich beziehen? Wie soll ich diesen Umfang nennen?