En su pregunta, se especifica "fuera del archivo principal". Si no decir "fuera de la clase", entonces esto va a trabajar para definir una variable de nivel de módulo:
myvar = 'something'
class myclass:
pass
A continuación, puede hacer, asumiendo la clase y definiciones de las variables se encuentran en un módulo llamado mymodule
:
import mymodule
myinstance = myclass()
print mymodule.myvar
Además, en respuesta a su comentario sobre la respuesta de @ phihag, puede acceder a mivar sin reservas, así:
from mymodule import myvar
print myvar
Si desea acceder a él simplemente la abreviatura de anoth archivo er al tiempo que definirla en la clase:
class myclass:
myvar = 'something'
a continuación, en el archivo donde se necesita para acceder a ella, asignar una referencia en el espacio de nombres locales:
myvar = myclass.myvar
print myvar
¿Por qué no hacerlo de esta manera: 'mivar mundial;' y en línea siguiente, cambiarlo? – hjpotter92
Parece que deseaba algo diferente a lo que preguntó – 0xc0de
FJ respondió la pregunta tal como lo hice, hice +1, zigg obtuvo la intención (sin tener que escribir myclass.var una y otra vez) y se supone que es una mejor práctica, así Apuntaré a las personas futuras con la misma pregunta que llega de la búsqueda a su respuesta. – Adam