Resumo : neste tutorial, você aprenderá sobre classes e objetos Python e como definir uma nova classe.
Objetos
Um objeto é um contêiner que contém dados e funcionalidades .
Os dados representam o objeto em um determinado momento. Portanto, os dados de um objeto são chamados de estado . Python usa atributos para modelar o estado de um objeto.
A funcionalidade representa os comportamentos de um objeto. Python usa funções para modelar os comportamentos. Quando uma função está associada a um objeto, ela se torna um método do objeto.
Em outras palavras, um objeto é um contêiner que contém o estado e os métodos .
Antes de criar objetos, você primeiro define uma classe. E a partir da classe você pode criar um ou mais objetos. Os objetos de uma classe também são chamados de instâncias de uma classe.
Definir uma classe
Para definir uma classe em Python, você usa a class
palavra-chave seguida do nome da classe e dois pontos. O exemplo a seguir define uma Person
classe:
class Person:
pass
Linguagem de código: Python ( python )
Por convenção, você usa nomes em letras maiúsculas para classes em Python. Se o nome da classe contiver várias palavras, use o CamelCase
formato, por exemplo SalesEmployee
.
Já que a Person
aula está incompleta; você precisa usar a pass
instrução para indicar que adicionará mais código a ela posteriormente.
Para criar uma instância de uma classe, você usa o nome da classe com parênteses como este:
person = Person()
Linguagem de código: Python ( python )
Ao imprimir o person
objeto, você verá seu nome e endereço de memória:
class Person:
pass
print(person)
Linguagem de código: Python ( python )
Saída:
<__main__.Person object at 0x000001C46D1C47F0>
Linguagem de código: Python ( python )
Para obter a identidade de um objeto, você usa a função id(). Por exemplo:
print(id(person))
Linguagem de código: PHP ( php )
Saída:
1943155787760
O id de um objeto é único. No CPython, id() retorna o endereço de memória de um objeto. A função hex() converte o número inteiro retornado pela função id() em uma string hexadecimal minúscula prefixada com 0x:
print(hex(id(person)))
Linguagem de código: PHP ( php )
Saída:
0x1c46d1c47f0
O objeto pessoa é uma instância da Person
classe. A isinstance()
função retorna True
se um objeto for uma instância de uma classe:
print(isinstance(person, Person)) # True
Linguagem de código: PHP ( php )
Uma classe também é um objeto em Python
Tudo em Python é um objeto, incluindo classes.
Ao definir a Person
classe, o Python cria um objeto com o nome Person
. O Person
objeto possui atributos. Por exemplo, você pode encontrar seu nome usando o __name__
atributo:
print(Person.__name__)
Linguagem de código: CSS ( css )
Saída:
Person
O Person
objeto tem o tipo de type
:
print(type(Person))
Linguagem de código: PHP ( php )
Saída:
<class 'type'>
Linguagem de código: HTML, XML ( xml )
A Person
classe também tem um comportamento. Por exemplo, pode criar uma nova instância:
person = Person()
Resumo
- Um objeto é um contêiner que contém estado e comportamento.
- Uma classe é um modelo para a criação de objetos.
- Em Python, uma classe também é um objeto, que é uma instância do arquivo
type
.