Ich versuche, eine Funktion zu initialisieren, meine
globalen
Klassenebene Variablen. Beachten Sie, dass ich aus irgendeinem Grund keinen Konstruktor schreiben kann, um den Job auszuführen. (Grund: Ich bin ein Testfall für Tempest schreiben)Eine Funktion außerhalb jeder Methode aufrufen, aber innerhalb einer Klasse?
Code:
class my_class(ParentClass):
username = "abc"
password = "123"
hostname = self._get_hostname() # Error: self is undefined
hostname = _get_hostname() # Error: _get_hostname is undefined
def myFunct(self):
...
...
def _get_hostname(self):
...
...
Ist es sogar möglich, in Python
globalen
Klasse-Ebene Variablen mit Klassenfunktionen zu initialisieren?
Anmerkung 1: Ich habe auch versucht hostname
Initialisierung nach der _get_hostname()
Funktion geschrieben wird, aber nicht von Nutzen auszuführen.
Anmerkung 2: I hostname
Initialisierung innerhalb einer Funktion wie ausführen kann:
def myFunction(self):
hostname = self._get_hostname()
# do something with hostname
...
Aber das würde den ganzen Zweck vereitelt ein
globalen
Variable auf Klassenebene zu verwenden. Ich möchte eine Klassenvariable für Wiederverwendung in anderen Funktionen verwenden.
Verwenden Sie 'def __init __ (self):' Für den Konstruktor ist der Code nach der Klassendefinition kein Konstruktor. – xthestreams
@xthestreams Liebes Ich habe bereits erwähnt, dass ich ** ** keinen Konstruktor schreiben kann. – InamTaj
@InamTaj warum machst du '_get_hostname (cls):' eine Klassenmethode dann wie '' classmethod' Dekorator verwenden? – ozgur