Olá! Thursday, 03 de October de 2024.



Dicas CódigoFonte.net
Wednesday, 31 de December de 1969

Tutorial básico de Python

1. Tutorial Básico de Python
1.1 Introdução
2. O que é Python
2.1 História
2.2 Características
2.3 Módulos do Python
2.4 O que é NumPy
2.5 Tipos de variáveis dinâmicos
2.6 Controle de Blocos por identação
2.7 Tipos de variáveis de alto nível
2.8 Orientação a objetos
3. Por que utilizar o Python

1.1 - Introdução

     Este tutorial foi criado com intuito de ensinar de maneira simples e objetiva esta nova linguagem de programação para Internet. Vale salientar que este tutorial não é um tutorial aprofundado, e nem um manual de referência. Caso você deseja se aprofundar, existem manuais disponíveis no site http://www.python.org/docs/.


2. O que é Python?

     Python é uma linguagem interpretada, bastante portável, orientada a objetos (incluindo herança múltipla). Apresenta semântica dinâmica, um moderno mecanismo de tratamento de erros e exceções. Algo só visto em linguagens modernas como Java e as versões mais recentes de C++. Python possui Uma forma eficiente de acesso e reutilização de código com o uso de módulos, coleta de lixo automática, recursos avançados de manipulação de textos, listas e outras estruturas de dados (como dicionários, mais poderoso que o hash de Perl, pois os valores assumidos podem conter qualquer outro tipo de objeto como até mesmo outros dicionários). Python possui ainda uma sintaxe simples, quase como um pseudo-código, característica marcante da sintaxe, próxima a linguagem matemática, do MATLAB.

     Para baixar o interpretador do python para windows, acesse o site http://www.python.org.

2.1 História

     Seu desenvolvimento teve início em 1990, pelo holandês Guido van Rossum, na CWI em Amsterdã e continuou na CNRI (fundação 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 Características

     Em Python, diferentemente de C++ ou Java, as funções são tratadas como objetos, característica de linguagens de programação funcional como Lisp, muito utilizada em aplicações de inteligência artificial. Outro ponto importante, oferecendo grande flexibilidade, é que, em Python, cada argumento de uma função pode assumir um valor default.

Topo

2.3 Módulos do Python

     Os módulos, em Python, são coleções de funções. Sua versão 1.5.2, de 1999, já incluía (a versão atual é a 2.0) mais de 140 módulos, sem contar a extensão gráfica Tk que é importante na construção das ferramentas de utilização da linguagem. E desconsiderando também outros módulos que podem ser encontrados a partir do site oficial (www.python.org), quase todos livres e gratuitos. Como ilustração, podemos citar alguns módulos, como o cgi (para programação de páginas dinâmicas), ftplib (para montagem de scripts para interação com servidores FTP), gzip (para leitura e escrita de arquivos comprimidos), math (para utilização de funções matemáticas), re (para busca de texto com expressões regulares, característica da linguagem Perl), string (para operações com strings), time (para obtenção de hora atual e conversão de formatos de data), xmllib (para interpretação de arquivos em formato XML). Outro módulos especial é o NumPy, utilizado na computação científica.

Topo

2.4 O que é NumPy

     O NumPy é um conjunto de extensões para Python que oferecem várias funcionalidades para manipulação de conjuntos de objetos chamados arrays. Estes, por sua vez, podem ter qualquer número de dimensões. A vantagem destas extensões é que podemos processar grandes conjuntos de forma tão rápida quanto os resultados das linguagens não interpretadas de mais baixo nível. A manipulação de grandes conjuntos numéricos, que é o caso do processamento de imagens, se fossem usadas as estruturas de dados padrão do Python, poderia ser muito lenta e ocupar muito espaço. Entretanto, mesmo assim, comparando a execução de comandos de iteração (como o comando "for''), críticos em linguagens interpretadas, o Python se revela eficiente, sendo mais rápido, por exemplo, que o MATLAB. Tanto Python como MATLAB podem facilmente agregar funções (boa extensividade). O fato de o Python ter código aberto e ser gratuitamente distribuído, inclusive com o Numerical Python, foi um elemento decisivo na escolha desta linguagem, já que a intenção, entre outras, é beneficiar qualquer pessoa interessada em ferramentas de processamento de imagens.

Topo

2.5 Tipos de variáveis dinâmicos

     Um dos conceitos básicos de programação é a variável, que é um associação entre um nome e um valor. Ou seja, temos em:

    >>> a = 1

     A variável a recebendo o valor de 1. Em Python, não precisamos declarar variáveis; para criar uma, basta atribuir um valor a ela. No exemplo acima, criamos uma variável chamada a.

     Quando dizemos que a linguagem possui tipos de variáveis dinâmicos, o tipo de valor ao qual um nome está associado pode variar durante a execução de um programa. Não quer dizer que não exista tipo -- embora em Python não o declaremos, as variáveis assumem um tipo -- apenas que este tipo pode variar durante o curso da execução.

      Esta propriedade por si só não é tão importante, embora realmente torne a escrita dos programas mais ágil: não precisamos decidir de imediato qual informação será armazenada, e podemos converter uma informação entre diversos tipos sem definir uma nova variável. Associada à orientação a objetos, no entanto, possui reflexos interessantes, que discutiremos mais adiante.


2.6 Controle de bloco por indentação

     Na maior parte das linguagens, há instruções ou símbolos específicos que delimitam blocos de código que compõem um laço ou expressão condicional. Por exemplo, em C:

    if ( a < 0 ) {
    /* bloco de código */
    }

ou em Fortran:
    if ( a .lt. 0 ) then
    /* bloco de código */
    endif

Nestes dois casos, os blocos são delimitados -- em C por chaves, e em Fortran pelo par then e endif. Em Python, os blocos são demarcados apenas por indentação:

    if ( a < 0 ):
    # bloco de código
    # (ao fim da seção indentada
    # termina o bloco)
    # próxima instrução (após o if)

     Esta propriedade faz com que a linguagem seja muito clara e fácil de ler -- a indentação está sempre correta -- mas também requer um controle formal sobre a indentação. É importante convencionar se a indentação será feita por uma tabulação ou por um número determinado de espaços, já que todas as pessoas editando um programa Python devem usar o mesmo tipo. Uma boa dica que evita confusão é usar 4 espaços para cada nível.


2.7 Tipos de variáveis de alto nível

     Como dito antes, Python possui tipos, e alguns destes tipos merecem uma atenção especial por serem de alto nível, e portanto, bastante úteis. Python oferece:

  • Strings: a cadeia de caracteres, uma forma de dado muito comum, possui um tipo específico.
  • Listas: uma lista é como um vetor em outras linguagens: um conjunto de valores organizados (indexados) por um índice numérico e inteiro.
        >>> a = [ "A", "B", "C" ]
        >>> print a[2]
       "C"
  • Tuplas: tuplas são listas imutáveis; em outras palavras, não podem ser alteradas uma vez criadas.
  • Dicionários: dicionários são como listas, mas que possuem índices cujo tipo não precisa ser inteiro. Dicionários são conhecidos em outras linguagens como arrays associativos ou hashes.
         >>> autor = { "nome" : "Christian", "idade" : 26 }
         >>> print autor["nome"]
         "Christian"
  • Classes: classes são tipos especiais que servem para apoiar programação orientada a objetos, que será discutida a seguir.
 

2.8 Orientação a objetos

     Neste tópico, faremos uma rápida explicação sobre como pode ser feita a orientação a objetos.

     Orientação a objetos (OO) é uma forma de estruturar um programa: ao invés de definirmos variáveis e criarmos funções, passando parâmetros entre elas, definimos objetos que possuem dados e ações associadas. O programa orientado a objetos é resultado da 'colaboração' entre estes objetos.

     Para a orientação a objetos ser utilizada, a linguagem de programação deve dar suporte a objetos (e aos seus tipos, as classes). Em Python, há suporte completo a OO; aliás, a linguagem vai além de simples suporte: todos os elementos básicos em Python são objetos.

     Segue um exemplo de uma classe, e da criação de um objeto, que nos termos da linguagem Python é chamado de instância:

       >> class Produto:
       def vende(self):
       # Aqui entrariam as ações que realizam uma venda
       pass
       >> p = Produto()
       >> p.preco = 10.00
       >> p.descricao = "Halls extra forte"
       >> p.vende()
       >> print p
      

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 opinião, é que Python é fácil. É fácil em diversos sentidos:

  • Os conceitos fundamentais da linguagem são simples.
  • A sintaxe da linguagem é clara e fácil de aprender.
  • A linguagem possui um interpretador de comandos que permite aprender e testar rapidamente trechos de código.
  • Na grande maioria dos casos, um programa em Python será muito mais curto que seu correspondente escrito em outra linguagem. Isto também faz com que seja mais rápido de escrever.
  • Existe suporte para todo tipo de biblioteca e banco de dados possível. Ou seja, pode-se fazer em Python qualquer tipo de programa, mesmo que utilize gráficos, base SQL ou outra tecnologia externa.
  • É possível escrever extensões a Python em C e C++ se é necessário performance máxima, ou se é desejável fazer interface com alguma ferramenta que possua biblioteca apenas nestas linguagens.
  • Python permite que o programa funcione em múltiplas plataformas; em outras palavras, a sua aplicação feita para Linux pode rodar sem problemas em Windows e em outros sistemas.
  • Python é pouco punitivo: em geral, "tudo pode" e há poucas regras arbitrárias; isto acaba por tornar prazeroso o uso da linguagem.

Por: Autor Desconhecido - Adaptado pela Equipe CódigoFonte.net
(Todos os Direitos Reservados)

Comentários do artigo [Novo comentário]

Rafael da Costa Freire - 03 de December de 2008 - 14:15
Parece uma pergunta boba mas qual a interface eu posso usar pra programar com Python?
eu programo em Java e uso o Eclipse...
Para adicionar um comentário você deve efetuar o login


Gostou do CódigoFonte.net? Quer indicar a um amigo?
Preencha os campos a seguir.
Seu Nome:
Seu E-mail:
E-mail de seu Amigo:


CodigoFonte.net » Meu Mural » Competiva - Criação de Sites » Todos os Direitos Reservados © 2002/2010