Uma classe em Python é um tipo de dados que combina dados e funcionalidade.
1 Definição de classe
A sintaxe para definir uma classe é a seguinte:
class ClassName:
<statement-1>
...
<statement-N>
Entre eles, class é a palavra-chave para definir a classe, ClassName representa o nome da classe, seguido por dois pontos e, em seguida, instrução-1 a instrução-N representa a instrução que define a classe dentro do escopo de definição da classe, que contém os dados e funções da classe.
2 tipos de dados e funções
A principal característica de uma classe é integrar dados e funções, onde os dados são a variável da classe e a função é o método da classe. As variáveis e métodos das classes Python são divididos principalmente em dois tipos: um são as variáveis e métodos da classe e o outro são as variáveis e métodos da instância.
2.1 Variáveis e métodos de classe
Defina uma classe chamada MyClass, o código é o seguinte:
class MyClass:
i = 1
def myfunc():
print('Hello')
Como pode ser visto no código acima, a classe MyClass contém uma variável de classe i e um método de classe myfunc. Ao chamar, você precisa usar o método "nome da classe. nome da variável" ou "nome da classe. nome do método". O código é o seguinte.
print(MyClass.i)
MyClass.myfunc()
Execute o programa, você pode imprimir "1" e "Olá".
As variáveis da classe podem ser modificadas por "nome da classe. nome da variável", o código é o seguinte:
MyClass.i = 2
print(MyClass.i)
A saída neste momento é "2".
2.2 Variáveis e métodos de instância
Uma classe é um tipo de dados e várias variáveis da classe (tipo de dados) podem ser definidas. O processo de definição de uma variável de classe é chamado de "instanciação" e a variável de classe definida é chamada de "instância".
c1 = MyClass()
Neste ponto, c1 é uma instância da classe MyClass. Você pode executar diferentes operações de inicialização em diferentes classes definindo o método __init__() da classe MyClass.
class MyClass:
i = 1
def myfunc():
print('Hello')
def __init__(self, num):
self.j = num
Como pode ser visto no código acima, MyClas adicionou um método chamado __init__(), que possui dois parâmetros, um é self, que indica o objeto de instância que chama o método, e o outro parâmetro é num, que é usado ao chamar Função __init__( ) passada.
Quando uma instância de uma classe é definida, o método __init__() da classe é chamado automaticamente e a variável criada é usada como primeiro parâmetro da função, ou seja, o valor do parâmetro self e o parâmetro entre parênteses após o nome da classe é método __init__( ) outros valores de parâmetro. O código fica assim:
c1 = MyClass(10)
O código acima define uma instância da classe MyClass. Ao usar este código para criar uma instância, a função __init__() da classe MyClass é chamada automaticamente. Neste momento, o valor do parâmetro self da função __init__() é "c1" e o valor do parâmetro num O valor é "10". Execute o método __init__() da classe MyClass e defina o valor da variável j da instância c1 como 10. O formato de uso de variáveis de instância é "nome da instância.nome da variável", execute o seguinte código:
print(c1.j)
A saída é "10". A variável j na definição da classe MyClass é uma "variável de instância".Para uma "variável de instância", instâncias diferentes podem ter valores diferentes. Por exemplo:
c2 = MyClass(100)
Neste ponto, c2 também é uma instância de MyClass, execute o seguinte código:
print(c2.j)
O resultado da saída é "100".