Hoje, iremos iniciar o aprendizado de python, como criar funções, classes e aprender o que é orientação a objeto.
Orientação a objeto, é uma técnica de programação que ajuda a reaproveitar código e deixar o código mais dinâmico. Assim como em outras linguagens, python suporta e inclusive com uma syntaxe limpa a orientação a objeto.
Para entendermos o que é orientação a objeto, é necessário, primeiro, aprender a definir classes, métodos e funções.
Vamos iniciar pelas funções. As funções, são blocos de códigos que são executados de forma estruturada "linha, após linha". Uma função em python, tem como objetivo, agrupar determinadas tarefas que podem ser repetitivas, onde você agrupa essas ações e dá um nome, como por exemplo, você tem um algoritmo, usando como analogia uma receita de bolo. Na receita, você tem um script, que te diz os ingredientes, a quantidade de cada ingrediente, e o modo de usar esses ingredientes.
Uma função, seria basicamente, separar esses trechos de forma organizada e dar um nome a elas, como:
Função de ingredientes
Função de medidas
Função de modo de preparo
Cada função, está organizada com suas "tarefas", e para executar a receita, chamaria cada função até q o bolo estivesse pronto.
Em python, as funções são nomeadas, através da palavra reservada "def", esta palavra indica que está sendo definido uma função.
As funções em python, não são executadas retornando valores para o "chamante" da função, para isso ser possível, é necessário, utilizar a instrução "return". As funções, podem receber parametros de entradas de qualquer tipo e devolver qualquer tipo de dados, sem precisar declara-las antes. Vamos aos exemplos.
Iremos definir uma função simples, que não retorna nada a váriável, e que somente executa um print:
def print_hello():
print "Hello World!"
print_hello()
Hello World!
Acima, definimos uma função "print_hello", que irá printar na tela "Hello World" toda vez que for chamada. Abaixo, pedimos para que esta função, fosse executada, para isso, colocamos o nome da função, sem a palavra "def", que irá executar todas as linhas dentro da função.
As funções, são capazes de trabalhar de forma dinâmica, recebendo valores de tipos distintos e retornando valores. Exemplo: Para você saber a soma ou a multiplicação de dois valores, e retornar para uma variável seu resultado de acordo com o parâmetro passado.
def calcula_dois_valores(valor_1, valor_2, operador):
if operador == u'soma':
resultado = valor_1 + valor_2
elif operador == u'multiplicação':
resultado = valor_1 * valor_2
else:
resultado = 'operador não suportado'
return resultado
calcula_dois_valores(valor_1=2, valor_2=4, operador=u'soma')
6
calcula_dois_valores(valor_1=2, valor_2=4, operador=u'multiplicação')
8
Desta vez, definimos a função, esperando três entradas, o "valor_1", "valor_2" e "operador". Veja que não precisamos definir os tipos das variáveis, por conta de python, ser uma linguagem que não tem
Devido a instrução "return", essa função tem um parametro de saida que podemos utilizar numa variavel. Como não definimos nenhuma, esse output é feito no terminal. Mas, é possível, utilizar esse parametro de saída para uma varíavel, exemplo:
soma = calcula_dois_valores(valor_1=2, valor_2=4, operador='soma')
multiplicacao = calcula_dois_valores(valor_1=2, valor_2=4, operador=u'multiplicação')
print soma
6
print multiplicacao
8
Neste exemplo, utilizamos variáveis pra receber o valor da função. Ambas receberam o retorno da execução da função.
As funções, conseguem também trabalhar com multiplos retornos assim como multiplas entradas. Exemplo:
def calcula_dois_valores(valor_1, valor_2):
return valor_1 * valor_2, valor_1 + valor_2
multiplicacao, soma = calcula_dois_valores(valor_1=2, valor_2=4)
print multiplicacao
8
print soma
6
No exemplo acima, alteramos a função para que ela pudesse retornar dois valores na mesma execução. Sem precisar da terceira variável que controla se é soma ou multiplicação. E retorna de uma única vez os dois valores, e assim, podemos utilizar a declaração de duas variáveis ao mesmo tempo.
Bom, esse é o exemplo de como utilizar função de forma simples, no próximo post, irei exeplicar como utilizar classes e como usar funções dentro de classes e objetos em python.
Este é o primeiro post da Série: "PYOO - Python Oriented Object".
Até mais!
Nenhum comentário:
Postar um comentário