problema em declarar variavel global [RESOLVIDO]

1. problema em declarar variavel global [RESOLVIDO]

Wesley Silva
masterwes

(usa Outra)

Enviado em 28/02/2018 - 16:48h

Eu estou escrevendo um codigo e não consigo usar uma variavel global em um metodo, msm usando o global.
aqui está o techo do codigo:
class Tela2(FloatLayout):
global jogo
def __init__(self, **kwargs):
global jogo
super(Tela2, self).__init__(**kwargs)
self.ids.oculta.text = jogo.gera_tracos()
a variavel jogo é sempre tida como não definida


  


2. MELHOR RESPOSTA

Caio Sabadin
caiosabadin

(usa Slackware)

Enviado em 28/02/2018 - 21:29h

masterwes escreveu:

Eu estou escrevendo um codigo e não consigo usar uma variavel global em um metodo, msm usando o global.
aqui está o techo do codigo:
class Tela2(FloatLayout):
global jogo
def __init__(self, **kwargs):
global jogo
super(Tela2, self).__init__(**kwargs)
self.ids.oculta.text = jogo.gera_tracos()
a variavel jogo é sempre tida como não definida


Você declarou a variável "jogo" fora do escopo da classe Tela2, para poder indicar, à classe Tela2, que a variável "jogo" que você está colocando dentro dela refere-se à variável global previamente declarada?

Além disso, se não me engano, variáveis global só podem ser utilizadas dentro de métodos da classe, e não declaradas como atributos da classe em si.

Por exemplo:

jogo = algumaCoisa()

class Tela2(FloatLayout):
def __init__(self, **kwargs):
global jogo
super(Tela2, self).__init__(**kwargs)
self.ids.oculta.text = jogo.gera_tracos()


@EDIT: Dei uma olhada aqui na documentação do Python 3.6, e:

"Names listed in a global statement must not be defined as formal parameters or in a [...] class definition [...]"

Fonte: https://docs.python.org/3.6/reference/simple_stmts.html#grammar-token-global_stmt






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts