Sono relativamente nuovo a pensare a python in termini di programmazione orientata agli oggetti e mi viene relativamente lentamente.Condivisione di variabili globali tra classi in Python
È possibile passare variabili globali tra classi con più funzioni al loro interno? Ho letto molto su di loro qui e in altre fonti, ma sono ancora un po 'confuso.
Il mio obiettivo finale è definire una variabile globalmente, assegnargli un valore in una funzione di una classe e quindi USARLO nella funzione di un'altra classe. È possibile? Sto costruendo un pythonaddin per ArcMap, che richiede una classe per ogni pulsante. Voglio avere un pulsante per assegnare un valore a una variabile, e quindi usare quella variabile in un'altra classe nello script.
(Prima di arrivare alla contraerea, lo so che è relativamente cattiva forma da usare variabili globali, in primo luogo, sto cercando di imparare)
Per esempio, come un esempio molto semplificata:
x = []
class A():
def func_1(self):
#populate the x variable
global x
x = 1
class B():
def func_2(self):
global x
#do stuff with x
È accettabile (anche se non pitonico)?
Evita i globali quando puoi. –
È necessario utilizzare la parola chiave globale solo se si intende modificare la variabile in questione. –