Classes e objetos Python. Parte 9 Curso Python do Iniciante ao Avançado em 11 posts

Publicados: 2022-01-25

Este artigo ajudará o leitor a entender as classes básicas do Python juntamente com algumas aplicações básicas no mundo real. Usaremos o Visual Studio Code como nosso editor de código. Se você não instalou o Visual Studio Code, as instruções são fornecidas no primeiro blog.

Classes e objetos Python – índice:

  1. Aulas de Python
  2. Classes Python – definição
  3. Inicialização de classes Python
  4. Vamos escrever nossa primeira classe Python
  5. Atributos
  6. Comportamento da classe
  7. Objetos em Python
  8. Herança

Aulas de Python

Como discutimos no primeiro blog, Python é uma linguagem de programação orientada a objetos. Existem três frases que são muito importantes ao discutir a programação orientada a objetos em Python. O primeiro é classe, o segundo seria um objeto, o terceiro seria a herança. Vamos começar com o que é uma classe.

Classes Python – definição

Uma classe é um blueprint ou um programa extensível que ajuda na criação de objetos. Uma classe consiste em comportamento e estado. O comportamento de uma classe é demonstrado através de funções dentro da classe que são chamadas de métodos. O estado da classe é demonstrado usando as variáveis ​​dentro da classe que são chamadas de atributos.

Inicialização de classes Python

Uma classe pode ser inicializada usando a seguinte sintaxe.

Uma classe em python é definida usando a palavra-chave “class” após o nome da classe. A sintaxe básica da função Python é ilustrada abaixo.

Por exemplo:

<img src="https://firmbee.com/wp-content/uploads/Python_9-800x600.png" alt="Python_classes" width="800" height="600" class="alignnone size-medium wp-image-21409 img-fluid" />
# Create a function
# class Monkey
class classname:

Nota: o nome da classe também tem as mesmas normas que a declaração da variável.

Vamos escrever nossa primeira classe Python

# first class
 
class Animals:
	pass
 

No bloco de código acima, escrevemos uma classe que desenvolveremos mais adiante no blog. Como você pode ver, usamos a palavra-chave “class”.

Vamos ver agora, como adicionar componentes à classe do animal. Mas antes disso vamos aprender sobre o construtor “__init__()”. Construtores são usados ​​para instanciação de objetos. Aqui o __init__() é usado para instanciação de objetos. O construtor pode ser padrão com apenas self como argumento ou parametrizado com argumentos obrigatórios.

Atributos

Existem dois tipos diferentes de atributos, os primeiros são variáveis ​​de classe e os segundos são variáveis ​​de instância. As variáveis ​​de classe são as variáveis ​​que pertencem à classe. Além disso, essas variáveis ​​estão disponíveis para todas as instâncias da classe. Portanto, seu valor não será alterado mesmo se a instância for alterada.

# class variables
 
class Animals:
	type=”mammals”

As variáveis ​​de instância são as variáveis ​​que pertencem às próprias instâncias. Portanto, eles mudarão seu valor à medida que a instância for alterada.

# class variables
 
class Animals:
	def __init__(self,legs):
		self.legs=legs
		

Nota: As variáveis ​​de instância não estão disponíveis para acesso usando o nome da classe, pois elas mudam dependendo do objeto que a acessa.

Vamos fazer um programa que tenha variáveis ​​de classe e de instância declaradas.

class Animals:
	type=”mammals”
	def __init__(self,name,legs):
		self.name=name
		self.legs=legs
 
	

No programa acima, usamos variáveis ​​de instância e de classe. Então, essas variáveis ​​formam atributos da classe.

Comportamento da classe

Conforme discutido, o comportamento da classe é definido pelos métodos dentro da classe. Mas antes de entrar na discussão sobre comportamento, temos que começar a discutir o parâmetro “self”, que usamos no __init__().

Auto:

Em um termo muito simples, sempre que anexamos algo a self, isso diz que a variável ou função pertence a essa classe. Além disso, com “self”, os atributos ou métodos da classe podem acessar.

Métodos:

Métodos de classe são funções dentro da classe que terão seu primeiro argumento como “self”. Um método dentro da classe é definido usando a palavra-chave “def”.

class Animals:
	type=”mammals”
	def __init__(self,name,legs):
		self.name=name
		self.legs=legs
	def bark(self):
		if self.name==”dog”:
			print(“woof woof!!!”)
		else:
			print(“not a dog”)
 

No método acima “bark”, como estamos usando a variável name, que é uma variável de instância, estamos acessando-a usando “self” e esta função imprimiria “woof woof!!!”, somente se o nome fornecido ao objeto, é cachorro.

Discutimos a maioria dos componentes de uma classe, mas você pode estar pensando em como ver se a classe está funcionando. A resposta para isso é que, a menos que criemos um objeto da classe, não poderemos ver o que a classe está fazendo. Agora, vamos definir e criar um objeto da classe.

Objetos em Python

Um objeto é uma instância da classe. Uma classe é apenas um projeto, mas o objeto é uma instância da classe que possui valores reais.

O código para definir ou criar um objeto é ilustrado abaixo.

class Animals:
	type=”mammals”
	def __init__(self,name,legs):
		self.name=name
		self.legs=legs
	def bark(self):
		if self.name==”dog”:
			print(“woof woof!!!”)
		else:
			print(“not a dog”)
 
dog=Animals(“dog”,4)
 

Para criar um objeto, a sintaxe é objectname=classname(arguments). Portanto, aqui estamos dando o nome do animal como cachorro e número de patas como 4. Agora, criado o objeto da classe, o próximo passo é usar o objeto para acessar seus atributos. Para acessar os atributos de uma classe usando o objeto, lembre-se que apenas as variáveis ​​de instância podem ser acessadas usando o objeto. As variáveis ​​de instância em nossa classe são nome e pernas.

class Animals:
	type=”mammals”
	def __init__(self,name,legs):
		self.name=name
		self.legs=legs
	def bark(self):
		if self.name==”dog”:
			print(“woof woof!!!”)
		else:
			print(“not a dog”)
 
dog=Animals(“dog”,4)
print(dog.name)
print(dog.legs)
 

Como podemos ver, podemos acessar variáveis ​​de instância usando a notação de ponto.

Vamos explorar a saída.

#Output
 
dog
4
 

Para acessar as funções dentro da classe ou métodos, usaremos a notação de ponto. O exemplo é ilustrado abaixo.

class Animals:
	type=”mammals”
	def __init__(self,name,legs):
		self.name=name
		self.legs=legs
	def bark(self):
		if self.name==”dog”:
			print(“woof woof!!!”)
		else:
			print(“not a dog”)
 
dog=Animals(“dog”,4)
print(dog.name)
print(dog.legs)
print(dog.bark())
#Output
 
dog
4
woof woof!!!

No exemplo acima, podemos ver que estamos acessando o método da classe “bark” usando o objeto dog que criamos. Podemos ver que não estamos usando o parâmetro “self” nos argumentos da função. Isso ocorre porque não exigimos o uso de “self” fora da classe, pois o próprio objeto está agindo como self.

Herança

A herança é um processo através do qual os atributos e métodos da classe podem ser passados ​​para uma classe filha. A classe de onde a classe filha está herdando é a classe pai. A sintaxe para herança é ilustrada abaixo.

#Inheritance
 
class parent:
 
class child(parent):
 

A partir da ilustração acima, podemos ver que para a sintaxe de herança estamos colocando o nome da classe pai como um argumento para a classe filha. Vamos usar a classe Animals e criar uma classe filha chamada dog. Isso é ilustrado abaixo.

class Animals:
	type=”mammals”
	def __init__(self,name,legs):
		self.name=name
		self.legs=legs
	def bark(self):
		if self.name==”dog”:
			print(“woof woof!!!”)
		else:
			print(“not a dog”)
 
class Dog(Animals):
def __init__(self,name,legs,breed):
Animals.__init__(self,name,legs)
self.breed=breed

No código de exemplo acima, criamos uma classe dog que está estendendo a classe animals que criamos antes. Também estamos usando os parâmetros do Animals usando o Animals.__init__(arguments) que tem nome e pernas que serão herdados para a classe dog. Então estamos criando um atributo de instância para a classe dog que é a raça.

Agora vamos fazer um objeto para a classe dog e acessar os atributos e métodos da classe animals.

class Animals:
	type=”mammals”
	def __init__(self,name,legs):
		self.name=name
		self.legs=legs
	def bark(self):
		if self.name==”dog”:
			print(“woof woof!!!”)
		else:
			print(“not a dog”)
 
class Dog(Animals):
def __init__(self,name,legs,breed):
Animals.__init__(self,name,legs)
self.breed=breed
 
 
pug=Dog("dog",4,"pug")
pug.breed
pug.name
pug.legs
pug.bark()
#Output
 
pug
dog
4
woof woof!!!

Como podemos ver na saída, os atributos e métodos da classe pai estão sendo acessados ​​pelo objeto da classe filho.

Neste blog, abordamos alguns conceitos básicos de classes em Python. Na próxima postagem do blog, abordaremos o tópico de manipulação de arquivos.

python_classes

Você também pode gostar do nosso Curso de JavaScript do Iniciante ao Avançado.

Python classes and objects. Part 9 Python Course from Beginner to Advanced in 11 blog posts robert whitney avatar 1background

Autor: Robert Whitney

Especialista e instrutor em JavaScript que treina departamentos de TI. Seu principal objetivo é aumentar a produtividade da equipe, ensinando outras pessoas a cooperar efetivamente durante a codificação.

Curso de Python do iniciante ao avançado em 11 postagens no blog:

  1. Curso de Introdução ao Python. Parte 1 Curso Python do Iniciante ao Avançado em 11 posts
  2. Variáveis ​​e tipos de dados em Python. Parte 2 Curso Python do Iniciante ao Avançado em 11 postagens no blog
  3. Tuplas, listas, conjuntos e dicionários Python. Parte 3 Curso Python do Iniciante ao Avançado em 11 posts
  4. Conjuntos e dicionários Python. Parte 4 Curso Python do Iniciante ao Avançado em 11 posts
  5. Instruções condicionais em Python. Parte 5 Curso Python do Iniciante ao Avançado em 11 posts
  6. Loops em Python. Parte 6 Curso Python do Iniciante ao Avançado em 11 posts
  7. Funções do Python. Parte 7 Curso Python do Iniciante ao Avançado em 11 posts
  8. Funções avançadas em Python. Parte 8 Curso Python do Iniciante ao Avançado em 11 posts
  9. Classes e objetos Python. Parte 9 Curso Python do Iniciante ao Avançado em 11 posts
  10. Arquivos em Python. Parte 10 Curso Python do Iniciante ao Avançado em 11 posts
  11. Aplicações Python na prática. Parte 11 Curso Python do Iniciante ao Avançado em 11 posts