Página oficial
- Python é uma linguagem de programação criada por Guido van Rossum (https://www.python.org/~guido/) em 1991. Os objetivos do projeto da linguagem eram: produtividade e legibilidade. Em outras palavras, Python é uma linguagem que foi criada para produzir código bom e fácil de manter de maneira rápida.
- Seu nome não tem nada a ver com os reptéis mas sim com um famoso show da BBC, "Monty Python Flying Circus"
- Para reforçar a importância, a Nasa e a Industrial Light & Magic, a companhia que criou o Star Wars, usam Python.

- História
- Guido van Rossum
- Universidade de Amsterdã - 1982
- 2005 - 2012 – Google
- 2013 – Dropbox
- Iniciou a implementação em Dezembro de 1989
- Python 2.0 – em 2000
- Python 3.0 – em 2008
- Versão 2.7.5 e 3.3.2
- Versão 3.4
- É Python! E não Phyton, Pyton, Phython, ...
- Linguagem de Altíssimo Nível (VHLL)
- Ambiente interativo
- Licença de código aberto, compatível com a GPL
- Por que Python?
- Simples, Legível, Clara e Elegante
- Escrever um simples “nome, Seja bem vindo(a)”
Java
public class Hello{
public static void main(String args[]) {
java.util.Scanner s = new java.util.Scanner(System.in);
System.out.print("Digite seu nome:");
String nome = s.nextLine();
System.out.println("\n" + nome + ", Seja bem vindo(a) :)\n");
}
}
- Por que Python?
- Simples, Legível, Clara e Elegante
- Escrever um simples “nome, Seja bem vindo(a)”
C
#include <stdio.h>
int main(){
char nome[200];
printf("Digite seu nome: ");
scanf("%s", nome);
printf("\n %s, Seja bem vindo(a)\n", nome);
return 0;
}
- Por que Python?
- Simples, Legível, Clara e Elegante
- Escrever um simples “nome, Seja bem vindo(a)”
Python
nome = raw_input('Digite seu nome: ')
print ("\n%s, Seja bem vindo(a) :)\n" % nome)
- Por que Python?
- Baterias Incluídas
- Muitos recursos já estão prontos para serem utilizados, alguns deles:
- Banco de dados (Postgres, MySQL, SQLServer, sqlite, ODBC)
- Geração de gráficos (matplotlib)
- Protocolos de Rede (TCP, UDP, SimpleHTTPServer, urllib, ftplib, poplib, smtplib, telnetlib, entre outros)
- Web (Django, Web2py, Zope/Plone, Pylons, TurboGears)
- Criptografia
- Interface Gráfica (Tkinter, wxPython, PyGtk, PyQt, PyKDE, Pythonwin)
- Computação gráfica (PyOpenGL, PyGame, PyCUDA, PyGPU)
- Ciência (Numarray, Numpy, SciPy, BioPython, AstroPy)
- PyScience - http://pyscience-brasil.wikidot.com/
- Processamento de Imagens (PIL, PythonMagick, Gimp-python, OpenCV)
- Por que Python?
- É multi-plataforma: iphone, Android, ...
- É multi-paradigma
- Programação Estruturada
- Programação Orientada a Objetos
- Programação Funcional
- Por que Python?

- Comunidade e Documentação PT_BR
- Tutorial de Python - http://turing.com.br/pydoc/2.7/tutorial/index.html
- Aprenda Computação com Python - https://code.google.com/p/aprendacompy/
- Python para desenvolvedores - http://ark4n.wordpress.com/python/
- Introdução a programação com Python - http://www.nilo.pro.br/iprog/
- Livros e outros Links - http://www.python.org.br/wiki/AprendaMais
Python
Python é um exemplo de linguagem de programação de alto nível. Outras linguagens de alto nível de que você já pode ter ouvido falar são C++, PHP e Java.
Também existem as “linguagens de baixo nível”, às vezes chamadas de “linguagens de máquina” ou “linguagem assembly” (linguagens de montagem). De forma simples, o computador só consegue executar programas escritos em linguagens de baixo nível. Deste modo, programas escritos em linguagens de alto nível precisam ser processados antes que possam rodar. Esse processamento extra toma algum tempo, o que é uma pequena desvantagem em relação às linguagens de alto nível.
- Exemplo de código na linguagem assembly para imprimir "Hello World"
section .data
msg db 'Hello World!', 0AH
len equ $-msg
section .text
global _start
_start: mov edx, len
mov ecx, msg
mov ebx, 1
mov eax, 4
int 80h
mov ebx, 0
mov eax, 1
int 80h
É muito mais fácil programar em uma linguagem de alto nível. É mais rápido escrever programas em uma linguagem de alto nível; eles são mais curtos e mais fáceis de ler, e há maior probabilidade de esterem corretos. Segundo, as linguagens de alto nível são portáveis, o que significa que podem rodar em diferentes tipos de computador, com pouca ou nenhuma modificação. Programas em baixo nível só podem rodar em um único tipo de computador e precisam ser re-escritos para rodar em outro tipo.
Devido a essas vantagens, quase todos os programas são escritos em linguagens de alto nível. As de baixo nível são utilizadas somente para umas poucas aplicações especializadas.
Dois tipos de programas processam linguagens de alto nível, traduzindo-as em linguagens de baixo nível: interpretadores e compiladores. O interpretador lê um programa escrito em linguagem de alto nível e o executa, ou seja, faz o que o programa diz. Ele processa o programa um pouco de cada vez, alternadamente: hora lendo algumas linhas, hora executando essas linhas e realizando cálculos.

O compilador lê o programa e o traduz completamente antes que o programa comece a rodar. Neste caso, o programa escrito em linguagem de alto nível é chamado de código fonte, e o programa traduzido é chamado de código objeto ou executável. Uma vez que um programa é compilado, você pode executá-lo repetidamente, sem que precise de nova tradução.

Instale última versão do Python
- python.org
Usando o terminal
[lclaudio@lntb-031781 ~]$ python Python 2.7.8 (default, Apr 15 2015, 09:26:43) [GCC 4.9.2 20150212 (Red Hat 4.9.2-6)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
Python é considerada uma linguagem interpretada, pois os programas em Python são executados por um interpretador. Existem duas maneiras de usar o interpretador: no modo de linha de comando e no modo de script. No modo de linha de comando, você digita programas em Python e o interpretador mostra o resultado:
$ python Python 2.5.2 (r252:60911, Jan 4 2009, 17:40:26) [GCC 4.3.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 1 2
- Podemos utilizá-lo diretamente para executar alguns comandos:
>>> 2 + 2 4 >>> 4 + 4 8 >>> 12 * 2 24 >>> 35 - 21 14 >>> 40 - 65 -25 >>> 12 / 3 4
- Evoluindo nas operações:
>>> 12 / 30 0 >>> ??
Instalando o PyCharm
O PyCharm é um software que facilita a edição, interpretação e execução dos programas desenvolvidos em Python
Exceções
Erros de sintaxe
O interpretador do Python só executa um programa se ele estiver sintaticamente correto; caso contrário, o processo falha e retorna uma mensagem de erro. Sintaxe se refere à estrutura de um programa e às regras sobre esta estrutura. Por exemplo, em português, uma frase deve começar com uma letra maiúscula e terminar com um ponto.
esta frase contém um erro de sintaxe. Assim como esta
Para a maioria dos leitores, uns errinhos de sintaxe não chegam a ser um problema significativo e é por isso que conseguimos ler a poesia moderna de e. e. cummings sem cuspir mensagens de erro. Python não é tão indulgente. Se o seu programa tiver um único erro de sintaxe em algum lugar, o interpretador Python vai exibir uma mensagem de erro e vai terminar - e o programa não vai rodar. Durante as primeiras semanas da sua carreira como programador, você provavelmente perderá um bocado de tempo procurando erros de sintaxe. Conforme for ganhando experiência, entretanto, cometerá menos erros e os localizará mais rápido.
Erros em tempo de execução (runtime errors)
O segundo tipo de erro é o erro de runtime, ou erro em tempo de execução, assim chamado porque só aparece quando você roda o programa. Esses erros são também conhecidos como exceções, porque normalmente indicam que alguma coisa excepcional (e ruim) aconteceu.
Erros de runtime são raros nos programas simples que você vai ver nos primeiros capítulos - então, vai demorar um pouco até você se deparar com um erro desse tipo.
Erros de semântica (ou de lógica)
O terceiro tipo de erro é o erro de semântica (mais comumente chamado erro de lógica). Mesmo que o seu programa tenha um erro de semântica, ele vai rodar com sucesso, no sentido de que o computador não vai gerar nenhuma mensagem de erro. Só que o programa não vai fazer a coisa certa, vai fazer alguma outra coisa. Especificamente, aquilo que você tiver dito para ele fazer (o computador trabalha assim: seguindo ordens).
O problema é que o programa que você escreveu não é aquele que você queria escrever. O significado do programa (sua semântica ou lógica) está errado. Identificar erros semânticos pode ser complicado, porque requer que você trabalhe de trás para frente, olhando a saída do programa e tentando imaginar o que ele está fazendo.
O primeiro programa
Tradicionalmente, o primeiro programa escrito em uma nova linguagem de programação é chamado de “Alô, Mundo!” porque tudo que ele faz é apresentar as palavras “Alô, Mundo!”. Em Python, ele é assim:
print "Alô, Mundo!"
Isso é um exemplo de um comando print, que, na realidade, não “imprime” nada em papel. Ele apresenta o valor na tela. Neste caso, o resultado são as palavras:
Alô, Mundo!
As aspas no programa marcam o começo e o fim do valor, elas não aparecem no resultado final.
Algumas pessoas julgam a qualidade de uma linguagem de programação pela simplicidade do programa “Alô, Mundo!”. Por esse padrão, Python se sai tão bem quanto possível.
Concatenação e repetição de strings
O significado de um operador pode mudar de acordo com os tipos de dados dos valores próximos a ele.
Por exemplo, + é o operador de adição quando atua sobre dois valores inteiros ou de ponto flutuante.
Entretanto, quando é usado com dois valores tipo string, ele as une, constituindo o operador de concatenação de strings.
>>> 'Universidade ' + 'Federal ' + 'de ' + 'Uberlandia' 'Universidade Federal de Uberlandia' >>> ufu = 'Universidade ' + 'Federal ' + 'de ' + 'Uberlandia' >>> print ufu Universidade Federal de Uberlandia >>>
A expressão é avaliada como um único valor novo do tipo string que combina o texto das strings individuais.
Entretanto, usar o operador + entre uma string e uma valor numérico, complicará a interpretação do Python.
>>> 123 + 'de Oliveira ' + 4 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for +: 'int' and 'str' >>>
>>> 'taxa ' + 25.5 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: cannot concatenate 'str' and 'float' objects >>> KeyboardInterrupt >>>
Para resolver isso, devemos transformar o inteiro em string para que o Python consiga executar a expressão.
O operador + é usado para multiplicação quando atua sobre dois valores inteiros ou de ponto flutuante.
Quando for usado entre um valor do tipo string e um valor inteiro, corresponderá ao operador de repetição de string.
>>> >>> 'ha'*3 'hahaha' >>> >>> risada = 'ha'*3 >>> print risada hahaha >>> >>> 'ha'*3+'!' 'hahaha!' >>>
- Não vai funcionar:
- String x String
>>> 'bola' * 'casa' Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: can't multiply sequence by non-int of type 'str'
- Nem:
- String x ponto flutuante
>>> 'bela' * 3.5 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: can't multiply sequence by non-int of type 'float' >>>