antiblock
Cyphriun
  • Chatbox

    Did you check out our Discord? https://discord.gg/FFdvMjk9xA
    You don't have permission to chat.
    Load More
Sign in to follow this  
TheSubKIller aka Skinning

Tutorial básico sobre Python

1 post in this topic

Boas Cyber-Gamers

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).

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.

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.

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.

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

<instance p="" of="" class="" `produto'="" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-image: initial; ">

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.

Share this post


Link to post
Share on other sites
antiblock
Rodnia | Alpha & Omega

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this