Python é uma linguagem interpretada, orientada a objetos (incluindo herança múltipla). Apresenta semântica dinâmica, um moderno mecanismo de tratamento de erros e exceções. Python possui Uma forma eficiente de acesso e reutilização de código com o uso de módulos, 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).
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).
Instalação
Por padrão o Python, já vem instalado no linux e no OSX(Mac). Só precisará instalar se estiver usando o windows. Assim, pode baixá-lo no https://www.python.org/downloads/. Depois de fazer o download do arquivo *.msi, você precisa executá-lo e seguir as instruções. Na segunda tela do assistente de instalação, marcado "Customize", certifique-se de rolar para baixo e escolha a opção "Adicionar python.exe para o caminho". Isso vai fazer com que o caminho da pasta do Python, seja adicionado no caminho do sistema operacional, nas variáveis de ambiente.
Para começar a ver como o interpretador funciona, basta abrir o terminal e digitar:
python // depois aperte enter
No windows, aparece assim:
Python 2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
Variável
Não há declaração explícita de variáveis em Python, assim, a sua existência depende da atribuição de um valor:
>>> nome = "Hemerson Vianna"
Para declarar uma variável é preciso seguir a convenção snake case
, onde o nome da variável começa com minúscula e utiliza underscore para separar cada palavra:
>>> quantidade_de_computadores = 10
Uma coisa muito interessante no Python, é que podemos declarar variáveis e atribuir seus valores de uma vez só:
>>> nome, quantidade_de_computadores = "Hemerson Vianna", 10
Tipos de dados
O Python tem 5 tipos de dados:
Number: Armazena e suporta 4 tipos de valores numéricos(int, long, float e complex).
// int
var1 = 1
var2 = -786
var3 = 0x69
var4 = -0x260
// long - inteiros longos , que também pode ser representado em octal e hexadecimal
var1 = 51924361L
var2 = -052318172735L
var3 = -0x19323L
var4 = 0xDEFABCECBDAECBFBAEl
// float - valores reais de ponto flutuante
var1 = 15.20
var2 = 32.3+e18
var3 = -32.54e100
var4 = 70.2-E12
// complex
var1 = 3.14j
var2 = 9.322e-36j
var3 = 4.53e-7j
var4 = .876j
Python permite que você use um L minúsculo com muito tempo, mas é recomendável que você use somente uma maiúscula L , para evitar confusão com o número 1. Python exibe inteiros longos com uma maiúscula L.
Um número complexo é composto por um par ordenado de números de ponto flutuante reais indicados por x + yj, onde x e y são os números reais e j é a unidade imaginária.
Strings: Python permite tanto pares de aspas simples ou duplas. Subconjuntos podem ser feitas usando o operador de fatia ( [] e [ : ] ) com índices começando em 0 no início da string e -1 ao final. O sinal de mais (+) é o operador de concatenação de string e o asterisco (* ) é o operador de repetição.
str = 'Olá mundo'
print str # imprime a string
print str[0] # apenas o primeiro caractere
print str[2:5] # começa no terceiro caractere e termina no quinto
print str[2:] # a string começa a partir do terceiro caractere
print str * 2 # imprime 2 vezes a string
print str + "TEST" # concatena a string
List: É o mais versátil dos tipos de dados composto do Python. A lista contém itens separados por vírgulas e entre colchetes ([]) . As listas são semelhantes as matrizes em C. Uma diferença entre elas é que todos os elementos pertencentes a uma lista pode ser de diferentes tipos de dados.
Os valores armazenados em uma lista pode ser acessada usando o operador de fatia ([] e [:]) com índices começando em 0 no início da lista e ao final com -1. O sinal de mais (+) é o operador de concatenação e o asterisco (*) é o operador de repetição.
list = [ 'abcd', 786 , 2.23, 'andre', 70.2 ]
tinylist = [123, 'andre']
print list # imprime a lista
print list[0] # apenas o primeiro elemento da lista
print list[1:3] # começa no segundo e termina no terceiro elemento
print list[2:] # começa no terceiro elemento
print tinylist * 2 # imprime 2 vezes a lista
print list + tinylist # concatena as listas
Tuple: É um outro tipo de dados de sequência que é semelhante à lista. Uma tupla consiste de um número de valores separados por vírgulas. Ao contrário da lista, as tuplas são colocados dentro de parênteses.
As principais diferenças entre as listas e astuplas são: As listas são colocados entre colchetes ([]) e os seus elementos e tamanho podem ser alteradas, enquanto tuplas estão entre parênteses (()) e não pode ser atualizadas. Tuplas pode ser pensado como somente leitura.
tuple = ( 'abcd', 786 , 2.23, 'andre', 70.2 )
tinytuple = (123, 'andre')
print tuple # imprime a tupla
print tuple[0] # apenas o primeiro elemento da lista
print tuple[1:3] # começa no segundo e termina no terceiro elemento
print tuple[2:] # começa no terceiro elemento
print tinytuple * 2 # imprime 2 vezes a tupla
print tuple + tinytuple # concatena as tuplas
Dictionary: É uma espécie de tabela hash. Funcionam como matrizes de associação ou hashes encontrados em Perl e consistem em pares de valores-chave. A chave do dicionário pode ser quase qualquer tipo Python, mas são geralmente números ou strings. Os valores, por outro lado, pode ser qualquer objeto Python arbitrário.
Dicionários são delimitados por chaves ({ }) e os valores podem ser atribuídos e acessados usando colchetes ([]).
dict = {}
dict['um'] = "Esse é o um"
dict[2] = "Esse é o dois"
tinydict = {'name': 'andre','code':6734, 'dept': 'compras'}
print dict['um'] # impreme o valor "Esse é o um"
print dict[2] # impreme o valor "Esse é o dois"
print tinydict # imprime o dicionário
print tinydict.keys() # Imprime todas as chaves
print tinydict.values() # Imprime todos os valores
Observações
Python não permite concatenar uma string com um número. Ele não realiza uma conversão implícita de Number para String. Para isso, usamos %s
para tratar o resultado final como uma String. Indicamos os valores que entrarão nas lacunas %s e %s, adicionando o sinal % imediatamente após a String e em seguida colocando as duas variáveis entre parênteses e separadas por vírgula.
>>> nome = "Hemerson Vianna"
>>> idade = 29
>>> print 'O nome é %s e a idade é %s' % (nome, idade)
// O nome é Hemerson Vianna e a idade é 29
Para mostar o que citei acima, sobre não poder atualizar o valor de uma tupla, já com uma lista é possível:
tuple = ( 'abcd', 786 , 2.23, 'andre', 70.2 )
list = [ 'abcd', 786 , 2.23, 'andre', 70.2 ]
tuple[2] = 1000 # Invalid syntax with tuple
list[2] = 1000 # Valid syntax with list
Conclusão
Venho descobrindo o mundo do Python e tem me agradado bastante. Recomendo o curso Welcome to the Django do Henrique Bastos, que é show de bola. Eu fiz, e ele é fera. Aguardem novos artigos da série sobre Python. :)