Você está na página 1de 5

Contedo Adicionar a Meu favorito Quarta Feira, 31 de Dezembro de 1969

Tutorial bsico de Python


1. Tutorial Bsico de Python 1.1 Introduo 2. O que Python 2.1 Histria 2.2 Caractersticas 2.3 Mdulos do Python 2.4 O que NumPy 2.5 Tipos de variveis dinmicos 2.6 Controle de Blocos por identao 2.7 Tipos de variveis de alto nvel 2.8 Orientao a objetos 3. Por que utilizar o Python

1.1 - Introduo
Este tutorial foi criado com intuito de ensinar de maneira simples e objetiva esta nova linguagem de programao para Internet. Vale salientar que este tutorial no um tutorial aprofundado, e nem um manual de referncia. Caso voc deseja se aprofundar, existem manuais disponveis no site http://www.python.org/docs/. Topo

2. O que Python?
Python uma linguagem interpretada, bastante portvel, orientada a objetos (incluindo herana mltipla). Apresenta semntica dinmica, um moderno mecanismo de tratamento de erros e excees. Algo s visto em linguagens modernas como Java e as verses mais recentes de C++. Python possui Uma forma eficiente de acesso e reutilizao de cdigo com o uso de mdulos, coleta de lixo automtica, recursos avanados de manipulao de textos, listas e outras estruturas de dados (como dicionrios, mais poderoso que o hash de Perl, pois os valores assumidos podem conter qualquer outro tipo de objeto como at mesmo outros dicionrios). Python possui ainda uma sintaxe simples, quase como um pseudo-cdigo, caracterstica marcante da sintaxe, prxima a linguagem matemtica, do MATLAB. Para baixar o interpretador do python para windows, acesse o site http://www.python.org. Topo

2.1 Histria

Seu desenvolvimento teve incio em 1990, pelo holands Guido van Rossum, na CWI em Amsterd e continuou na CNRI (fundao que sustenta a linguagem hoje) em Reston. O conjunto de entidades e pessoas ligadas ao Python, sobretudo via Internet, formam a Python Software Activity (PSA). Topo

2.2 Caractersticas
Em Python, diferentemente de C++ ou Java, as funes so tratadas como objetos, caracterstica de linguagens de programao funcional como Lisp, muito utilizada em aplicaes de inteligncia artificial. Outro ponto importante, oferecendo grande flexibilidade, que, em Python, cada argumento de uma funo pode assumir um valor default. Topo

2.3 Mdulos do Python


Os mdulos, em Python, so colees de funes. Sua verso 1.5.2, de 1999, j inclua (a verso atual a 2.0) mais de 140 mdulos, sem contar a extenso grfica Tk que importante na construo das ferramentas de utilizao da linguagem. E desconsiderando tambm outros mdulos que podem ser encontrados a partir do site oficial (www.python.org), quase todos livres e gratuitos. Como ilustrao, podemos citar alguns mdulos, como o cgi (para programao de pginas dinmicas), ftplib (para montagem de scripts para interao com servidores FTP), gzip (para leitura e escrita de arquivos comprimidos), math (para utilizao de funes matemticas), re (para busca de texto com expresses regulares, caracterstica da linguagem Perl), string (para operaes com strings), time (para obteno de hora atual e converso de formatos de data), xmllib (para interpretao de arquivos em formato XML). Outro mdulos especial o NumPy, utilizado na computao cientfica. Topo

2.4 O que NumPy


O NumPy um conjunto de extenses para Python que oferecem vrias funcionalidades para manipulao de conjuntos de objetos chamados arrays. Estes, por sua vez, podem ter qualquer nmero de dimenses. A vantagem destas extenses que podemos processar grandes conjuntos de forma to rpida quanto os resultados das linguagens no interpretadas de mais baixo nvel. A manipulao de grandes conjuntos numricos, que o caso do processamento de imagens, se fossem usadas as estruturas de dados padro do Python, poderia ser muito lenta e ocupar muito espao. Entretanto, mesmo assim, comparando a execuo de comandos de iterao (como o comando "for''), crticos em linguagens interpretadas, o Python se revela eficiente, sendo mais rpido, por exemplo, que o MATLAB. Tanto Python como MATLAB podem facilmente agregar funes (boa extensividade). O fato de o Python ter cdigo aberto e ser gratuitamente distribudo, inclusive com o Numerical Python, foi um elemento decisivo na escolha desta linguagem, j que a inteno, entre outras, beneficiar qualquer pessoa interessada em ferramentas de processamento de imagens.

Topo

2.5 Tipos de variveis dinmicos


Um dos conceitos bsicos de programao a varivel, que um associao entre um nome e um valor. Ou seja, temos em: >>> a = 1 A varivel a recebendo o valor de 1. Em Python, no precisamos declarar variveis; para criar uma, basta atribuir um valor a ela. No exemplo acima, criamos uma varivel chamada a. Quando dizemos que a linguagem possui tipos de variveis dinmicos, o tipo de valor ao qual um nome est associado pode variar durante a execuo de um programa. No quer dizer que no exista tipo -- embora em Python no o declaremos, as variveis assumem um tipo -- apenas que este tipo pode variar durante o curso da execuo. Esta propriedade por si s no to importante, embora realmente torne a escrita dos programas mais gil: no precisamos decidir de imediato qual informao ser armazenada, e podemos converter uma informao entre diversos tipos sem definir uma nova varivel. Associada orientao a objetos, no entanto, possui reflexos interessantes, que discutiremos mais adiante. Topo

2.6 Controle de bloco por indentao


Na maior parte das linguagens, h instrues ou smbolos especficos que delimitam blocos de cdigo que compem um lao ou expresso condicional. Por exemplo, em C: if ( a < 0 ) { /* bloco de cdigo */ } ou em Fortran: if ( a .lt. 0 ) then /* bloco de cdigo */ endif Nestes dois casos, os blocos so delimitados -- em C por chaves, e em Fortran pelo par then e endif. Em Python, os blocos so demarcados apenas por indentao: if ( a < 0 ): # bloco de cdigo # (ao fim da seo indentada # termina o bloco) # prxima instruo (aps o if)

Esta propriedade faz com que a linguagem seja muito clara e fcil de ler -- a indentao est sempre correta -- mas tambm requer um controle formal sobre a indentao. importante convencionar se a indentao ser feita por uma tabulao ou por um nmero determinado de espaos, j que todas as pessoas editando um programa Python devem usar o mesmo tipo. Uma boa dica que evita confuso usar 4 espaos para cada nvel. Topo

2.7 Tipos de variveis de alto nvel


Como dito antes, Python possui tipos, e alguns destes tipos merecem uma ateno especial por serem de alto nvel, e portanto, bastante teis. Python oferece:
y y

Strings: a cadeia de caracteres, uma forma de dado muito comum, possui um tipo especfico. Listas: uma lista como um vetor em outras linguagens: um conjunto de valores organizados (indexados) por um ndice numrico e inteiro. >>> a = [ "A", "B", "C" ] >>> print a[2] "C"

y y

Tuplas: tuplas so listas imutveis; em outras palavras, no podem ser alteradas uma vez criadas. Dicionrios: dicionrios so como listas, mas que possuem ndices cujo tipo no precisa ser inteiro. Dicionrios so conhecidos em outras linguagens como arrays associativos ou hashes. >>> autor = { "nome" : "Christian", "idade" : 26 } >>> print autor["nome"] "Christian"

Classes: classes so tipos especiais que servem para apoiar programao orientada a objetos, que ser discutida a seguir. Topo

2.8 Orientao a objetos


Neste tpico, faremos uma rpida explicao sobre como pode ser feita a orientao a objetos. Orientao a objetos (OO) uma forma de estruturar um programa: ao invs de definirmos variveis e criarmos funes, passando parmetros entre elas, definimos objetos que possuem dados e aes associadas. O programa orientado a objetos resultado da 'colaborao' entre estes objetos.

Para a orientao a objetos ser utilizada, a linguagem de programao deve dar suporte a objetos (e aos seus tipos, as classes). Em Python, h suporte completo a OO; alis, a linguagem vai alm de simples suporte: todos os elementos bsicos em Python so objetos. Segue um exemplo de uma classe, e da criao de um objeto, que nos termos da linguagem Python chamado de instncia: >> class Produto: def vende(self): # Aqui entrariam as aes que realizam uma venda pass >> p = Produto() >> p.preco = 10.00 >> p.descricao = "Halls extra forte" >> p.vende() >> print p <instance p of class `Produto'> Topo

3. Por que utilizar o Python?


Uma boa pergunta -- j que existe uma quantidade de linguagens diferentes -- por que aprender Python importante ou mesmo interessante? H diversas respostas; a mais importante, na minha opinio, que Python fcil. fcil em diversos sentidos:
y y y y

Os conceitos fundamentais da linguagem so simples. A sintaxe da linguagem clara e fcil de aprender. A linguagem possui um interpretador de comandos que permite aprender e testar rapidamente trechos de cdigo. Na grande maioria dos casos, um programa em Python ser muito mais curto que seu correspondente escrito em outra linguagem. Isto tambm faz com que seja mais rpido de escrever. Existe suporte para todo tipo de biblioteca e banco de dados possvel. Ou seja, pode-se fazer em Python qualquer tipo de programa, mesmo que utilize grficos, base SQL ou outra tecnologia externa. possvel escrever extenses a Python em C e C++ se necessrio performance mxima, ou se desejvel fazer interface com alguma ferramenta que possua biblioteca apenas nestas linguagens. Python permite que o programa funcione em mltiplas plataformas; em outras palavras, a sua aplicao feita para Linux pode rodar sem problemas em Windows e em outros sistemas. Python pouco punitivo: em geral, "tudo pode" e h poucas regras arbitrrias; isto acaba por tornar prazeroso o uso da linguagem.

Você também pode gostar