Vamos começar a programar em Python? (Parte IV)
Actualmente são muitas as linguagens de programação ao dispor dos programadores e curiosos pela “arte” de programar. O desenvolvimento de aplicações está hoje em dia direcionado para a Web e para os dispositivos móveis mas há ainda muito a fazer no que diz respeito à integração de sistemas.
Depois de iniciarmos a nossa rubrica sobre a linguagem de programação Python, hoje iremos começar a explicar alguns elementos/sintaxe que fazem parte desta.
Após as últimas “brincadeiras” com python vamos hoje criar o nosso primeiro programa. Um programa em python é constituído por um ou mais ficheiros de extensão *.py. Os mesmos podem ser criados com qualquer editor de texto. No entanto existem soluções mais orientadas, como o IDLE, muito famoso pelo mundo Linux (embora disponível também noutras plataformas), ou o que eu uso, o IEP (Interactive Editor for Python) disponível também nas 3 grandes plataformas de computador.
Um programa em python bem estruturado deve:
- Estar devidamente comentado para que tanto terceiros, como vocês próprios possam perceber os vossos programas;
- Estar estruturado pela seguinte ordem:
- A importação de módulos deve ser sempre no início. Análogo ao “include” em C;
- Depois de importados os módulos deve sempre seguir-se a definição das funções necessárias. Embora possam não precisar das funções que definem até um momento mais tardio do vosso programa é uma questão de organização muito importante, em particular em programas grandes
- Só depois o corpo do programa propriamente dito. E nunca esquecer de manter sempre o programa devidamente comentado.
Importação de Módulos
Quanto à importação dos módulos há duas formas de o fazer:
import nome_do_modulo from nome_do_modulo import *
Estas duas formas de invocar um módulo tem diferenças substanciais: No caso de usar a sintaxe “import nome_do_modulo” as funções definidas nesse módulo ficam acessíveis com a sintaxe: nome_do_modulo.nome_da_funcao() .
Apesar de ser mais trabalhoso estar sempre a escrever o nome do módulo sempre que se quer usar uma função do módulo, esta sintaxe tem de facto vantagens: no caso de o nosso programa ter uma função com o mesmo nome as duas funcionam de forma independente.
Usando a segunda forma de importação quaisquer função no módulo que tenha o mesmo nome que outra no programa é substituída por esta última. Este princípio é sempre válido mesmo dentro do próprio programa. Se existirem duas funções com o mesmo nome no mesmo programa a que fica executável no fim do programa correr é a ultima a ser escrita.
Comentários
Em python não há comentários multi-linha. Os comentários introduzem-se com um # e é válido desde o ponto onde se insere até ao fim dessa linha.
Funções
As funções em python são criadas com recurso à seguinte sintaxe:
def nome_da_função(argumento1, argumento_opcional=1): “””doc-string aqui””” corpo da função return alguma_coisa
Em python não se usam os símbolos de chaveta. Portanto a indentação é importante em python (ao contrário por exemplo do C onde é puramente visual). Note-se que é importante manter a mesma indentação em todas as linhas no mesmo “nível de execução”. Nomeadamente nas funções, todo o corpo da função tem de ter um nível de indentação em relação ao cabeçalho.
O python permite a adição de uma “doc-string” às suas funções. Esta string especial, introduzida por 3 aspas no início e outras 3 no fim e introduzidas necessariamente imediatamente após o cabeçalho da função define o texto que fica disponível quando se excuta o comando:
>>>help(nome_da_função)
Portanto, este texto embora de carácter não obrigatório é importante porque permite que fique acessível alguma informação sobre as funções definidas. É portanto importante que este texto inclua uma pequena descrição sobre o que a função faz e como a usar.
Depois o corpo da função é a parte onde se manipula os dados da forma necessária. Em futuros tutoriais desenvolveremos técnicas que poderão ser usadas nessa parte do programa.
E por fim todas as funções terminam com o comando return. É este comando que faz com que o computador possa guardar o resultado da função (numa variável por exemplo). Este não deve ser confundido em caso algum com o comando print!
Então aqui se apresenta um pequenino programa de python que resume tudo o que foi dito:
#Isto é um comentário. #Em python não há comentérios multilinha. Todos os comentários começam com o sinal # e prologam-se até ao fim da linha em questão. import random, time #Aqui importam-se os módulos necessários. Nomeadamente aqui são importados os módulos random e time from turtle import * #Outra forma de importar modulos. Aqui é imporato o modulo turtle def uma_funcao(argumento1,argumento_opcional=0): """Isto é uma doc-string. Quando é executado o comando help(nome_da_função) na shell do python aparece esta string. Portanto aqui deve ser incluída a descrição da função e possivelmente de como a usar. Esta deve ser sempre escrita imediatamente abaixo da definição da função.""" variavel=argumento1+argumento_opcional #O corpo da função contém todos as manipulações de dados pretendidas. Neste caso esta função soma o 2 argumentos da função return variavel #As funções terminam todas com o comando return #Após definidas todas as funções segue-se o corpo do programa print("Pplware - Vamos aprender a usar o python!") print("Executando uma_funcao(3,2)") uma_funcao(3,2) print("Executando uma_funcao(78)") uma_funcao(78) print("Executando uma_funcao(54,30), associando o resultado a uma variavél e \"imprimindo\" de seguida o resultado") uma_variavel=uma_funcao(54,30) print(uma_variavel) print("É tudo por hoje. Obrigado!")
Para quem precisar de um bom IDE, deixamos em baixo uma sugestão para o IEP.
Homepage: IEP
Este artigo tem mais de um ano
Muito bom artigo.
Uma continuação de um bom trabalho.
Muito bom, quanto ao IDE gosto mais do pycharm
Boas excelentes tutoriais, mas deu-me este erro da primeira vez que corri: SyntaxError: Non-ASCII character ‘\xc3’ in file ./Área de Trabalho/exemplo1.py on line 19, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
Percebi logo que era por causa dos acentos e tirei todos, mas como faço para correr com acentos?
Boas João.
O teu erro surge por força da codificação do documento onde escreveste o programa.
No python 2.x tens que declarar explicitamente essa codificação, acrescentando um comentário especial no inicio:
# -*- coding: latin-1 -*-
Onde surge latin-1 poderá ser utf-8 ou qualquer outra codificação unicode.
A partir da versão 3.x já não existe essa necessidade. No entanto, por questões de compatibilidade com muitos módulos já existentes, a versão 2.x ainda continua a ser muito utilizada.
Parabéns pelos artigos sobre Python.
Quantos aos comentários multi-linha (multiline) poderão utilizar a seguinte sintaxe:
“”” Este é um comentário com várias linhas em python.
É bastante útil para descrever o conteúdo de classes ou funções.
Basta iniciar e terminar os comentários com as três aspas “””
“””
Deu Isto, boa é mesmo díficil!!!???
Traceback (most recent call last):
File “new1.py”, line 6, in
from turtle import *
File “C:\Python27\lib\lib-tk\turtle.py”, line 107, in
import Tkinter as TK
File “C:\Python27\lib\lib-tk\Tkinter.py”, line 38, in
import FixTk
File “C:\Python27\lib\lib-tk\FixTk.py”, line 68, in
import _tkinter
ImportError: DLL load failed: %1 nÒo Ú uma aplicaþÒo de Win32 vßlida.