Desenvolvimento - Python
Introdução ao Python - Parte 3
Neste terceiro artigo da série, Introdução ao Python, vamos aprender como utilizar as funções e módulos em nossos aplicativos Python.
por Fábio Rizzo MatosA primeira e a segunda parte desse tutorial se encontra disponível nesse site ou em meu site no endereço:
- http://www.fabiorizzo.com/artigos/python/introducaopython01/view
- http://www.fabiorizzo.com/artigos/python/introducaopython02/view
É interessante que você tenha visto a primeira e a segunda parte desse artigo para poder facilitar o seu entendimento.
4 - Funções / Módulos
4.1 - Usando Funções
Utilizamos funções quando precisamos executar um bloco de código diversas vezes, fazendo assim o reuso do código, e sendo assim alterar uma função usada uma dezena de vezes apenas uma única vez.
Vamos elevar um número ao quadrado. Veja exemplo:
>>> def eleva(x): return x**2
Usando a função:
>>> eleva(3) 9
A utilização da sintaxe de uma função é:
def nome_função(parametro1,parametro2,....):
executa código com os parametros.
Como vimos é possível utilizar uma função sobre vários parâmetros. Veja:
>>> def elevadois(x,y): return x**y
Executando a função:
>>> elevadois(3,3) 27
Nesse exemplo, nos elevamos x a y, passando dois parâmetros para a função.
Podemos também utilizar funções sobre textos e qualquer outro objeto do Python, não sendo necessariamente um cálculo. Veja:
>>> def mostra_mensagens(msg, quantidade): for quantidades in range(quantidade): print "%s %d" % (msg,quantidades)
Chamando a Função:
>>> mostra_mensagens("Mensagem Numero: ",3) Mensagem Numero: 0 Mensagem Numero: 1 Mensagem Numero: 2
Podemos também criar funções com parâmetros pré-definidos, caso não informe nenhum valor a função. Vamos usar o exemplo acima e caso não coloque quantidade de mensagens, a função retorne 5 mensagens. Veja:
>>> def mostra_mensagens(msg,quantidade=5): for quantidades in range(quantidade): print "%s %d" % (msg,quantidades)
Chamando a função:
>>> mostra_mensagens("Mensagem Numero:") Mensagem Numero: 0 Mensagem Numero: 1 Mensagem Numero: 2 Mensagem Numero: 3 Mensagem Numero: 4
Como não informamos a quantidade de mensagens ele uso o padrão, que é 5.
Podemos utilizar uma função que além de ter infinitos argumentos, gere variáveis com valores. Veja:
>>> def listadeargumentos(*argumentos, **bargumentos): print "Argumentos: ", argumentos print "Variaveis de Argumentos: ", bargumentos print "=" * 85
Chamando a Função:
>>> listadeargumentos("fabio","rizzo",variavel1="variavel 01", variavel2="variavel 02") Argumentos: ("fabio", "rizzo") Variaveis de Argumentos: {"variavel2": "variavel 02", "variavel1": "variavel 01"} =====================================================================================
Nesta função podemos perceber que quando queremos ter argumentos infinitos utilizamos *argumentos , utilizando sempre um * antes da declaração. Perceba, que geramos uma lista com os dados. E para utilização de argumentos infinitos em forma de dicionário use **argumentos, utilizando dois ** asteriscos.
4.2 - Usando Módulos
Quando desenvolvemos programas, temos que criar diversas funções e as vezes necessitamos de utiliza-las muitas vezes ao longo do programa. E para isso criamos arquivos com "pacotes" de funções e rotinas que importamos para dentro do nosso programa, fazendo assim reuso de código.
Vamos criar uma função que mostra o nosso nome:
>>> def mostra_nome(nome): ... print "O seu nome eh: ",nome ... >>> mostra_nome("Fabio Rizzo") O seu nome eh: Fabio Rizzo
Imagine se tivéssemos 15 arquivos onde seja necessário o uso dessa função? Ou queremos deixar o código mais "limpo", como fazemos?
Vamos colocar essa função dentro de um arquivo chamado funcoes.py. O arquivo vai ficar assim:
>>> def mostra_nome(nome): ... print "O seu nome eh: ",nome
Agora vamos importar o arquivo, veja abaixo:
>>> import funcoes >>> funcoes.mostra_nome("Fabio Rizzo") O seu nome eh: Fabio Rizzo
Depois de importado, utilizamos a seguinte sintaxe:
modulo.função
Porém, existem outras formas de importar um módulo. Veja só:
from funcoes import mostra_nome
Dessa forma falamos que vamos importar do módulo funções somente a função mostra_nome. Se importarmos mais nome, utilizaremos vírgula para separar as funções. Podemos usar apelidos como abaixo:
>>> import funcoes as func >>> func.mostra_nome("Fabio Rizzo") O seu nome eh: Fabio Rizzo
Fabio Rizzo Matos
www.fabiorizzo.com
fabio@fabiorizzo.com
- PyODConverter - Conversão em batch de formato de documentosPython
- Plone: Quais templates e CSS controlam o que você vê e onde eles estão localizadosPython
- Web Services - criação, publicação e clientesWeb Services
- Introdução ao PyGamePython
- Automatização de tarefas do OpenOffice usando o PythonPython