Trabalhando com variáveis em python
Variáveis são recipientes de armazenamento que armazenam dados. Ao trabalhar com as classes em Python, você precisa considerar como os dados são armazenados e gerenciados. Uma classe pode incluir ambas as variáveis de classe e variáveis de instância. As variáveis de classe são definidos como parte da própria classe, enquanto que as variáveis de instância são definidos como parte de métodos.
Criando variáveis de classe
variáveis de classe fornecer acesso global aos dados que sua classe manipula de alguma forma. Na maioria dos casos, você inicializar variáveis globais usando o construtor para assegurar que eles contêm um bom valor conhecido. Os seguintes passos demonstram como variáveis de classe trabalhar.
Abra uma janela do Python Shell.
Você vê o prompt Python familiar.
Digite o seguinte código (pressionando Enter após cada linha e pressionar Enter duas vezes após a última linha):
MyClass classe: Cartão = "def SayHello (self): print ("Olá {0}".format (self.Greeting))
Isto não inclui um construtor. Normalmente você incluir um construtor para assegurar que a variável de classe é inicializado corretamente. No entanto, esta série de passos mostra como variáveis de classe pode dar errado.
Digite MyClass.Greeting = “Zelda” e pressione Enter.
Esta declaração define o valor de saudação para algo diferente do que o valor que você usou quando criou a classe. Claro, qualquer um poderia fazer essa alteração. A grande questão é se a mudança vai demorar.
Tipo MyClass.Greeting e pressione Enter.
Você vê que o valor de Cumprimento mudou.
Digite MyInstance = MyClass () e pressione Enter.
Python cria uma instância Minha classe nomeado MyInstance.
Digite MyInstance.SayHello () e pressione Enter.
A alteração feita para Cumprimento tem transitar para o exemplo da classe. É verdade que o uso de uma variável de classe não tem realmente causado um problema neste exemplo, mas você pode imaginar o que aconteceria em uma aplicação real se alguém queria causar problemas.
Este é apenas um exemplo simples de como variáveis de classe pode dar errado. Os dois conceitos que você deve levar longe deste exemplo são os seguintes:
Evite variáveis de classe quando você pode, porque eles são inerentemente inseguro.
Sempre inicializar variáveis de classe para um bom valor conhecido no código construtor.
Feche a janela do Python Shell.
Criando variáveis de instância
variáveis de instância são sempre definidas como parte de um método. Os argumentos de entrada para um método são considerados como variáveis de instância porque existem apenas quando existe o método. Usando variáveis de instância é geralmente mais seguro do que usar variáveis de classe, porque é mais fácil de manter o controle sobre eles e garantir que o chamador está fornecendo a entrada correta. Os passos que se seguem mostram um exemplo da utilização de variáveis de instância.
Abra uma janela do Python Shell.
Você vê o prompt Python familiar.
Digite o seguinte código (pressionando Enter após cada linha e pressionar Enter duas vezes após a última linha):
classe MyClass: def DoAdd (auto, Value1 = 0, Valor2 = 0): Soma = Value1 + Value2print ("A soma de {0} mais {1} é {2}.".format (Value1, Valor2, Sum))
Neste caso, você tem três variáveis de instância. Os argumentos de entrada, Value1 e value2, têm valores padrão de 0, assim DoAdd () não pode falhar simplesmente porque o usuário esqueceu de fornecer valores.
Claro, o usuário pode sempre fornecer algo diferente de números, então você deve fornecer os controlos adequados, como parte de seu código. O terceiro caso é variável Soma, que é igual a Valor1 + Valor2. O código simplesmente adiciona os dois números juntos e exibe o resultado.
Digite MyInstance = MyClass () e pressione Enter.
Python cria uma instância Minha classe nomeado MyInstance.
Digite MyInstance.DoAdd (1, 4) e pressione Enter.
Neste caso, você vê a soma de adicionar 1 e 4.
Feche a janela do Python Shell.