Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)
1. Tecnologia em Sistemas para Internet - IFMS
Vamos aprender algo diferente?
Introdução à linguagem Python (aula 1)
Tópicos em Programação
Prof.º Msc. Sidney Roberto de Sousa
sidney.sousa@ifms.edu.br
2. Tec. em Sistemas para Internet - IFMS 2
O que veremos nesta aula?
● O que é Python?
● Porquê Python?
● Hands on: Instalação e configuração
● Hands on: Escrevendo programas em Python
4. Tec. em Sistemas para Internet - IFMS 4
O que é Python?
● Linguagem de programação criada por Guido van
Rossum
●
Python é uma linguagem de alto nível
● Python é multiparadigma
– Programação funcional
– Programação imperativa
– Programação orientada a objetos
● Python é uma linguagem dinâmica
● Pode ser utilizada como linguagem de script
5. Tec. em Sistemas para Internet - IFMS 5
Princípios
(PEP 20 - The Zen of Python)
● Bonito é melhor que feio
● Explícito é melhor que implícito
● Simples é melhor que complexo
● Complexo é melhor que complicado
● Legibilidade é importante!
6. Tec. em Sistemas para Internet - IFMS 6
Porquê Python?
● Linguagem de propósito geral
● Multiplataforma e multiparadigma
● Fácil legibilidade
● Curva de aprendizado baixa
● Foco na produtividade → entregue mais cedo!
7. Tec. em Sistemas para Internet - IFMS 7
Índice TIOBE (Abril/2013)
9. Tec. em Sistemas para Internet - IFMS 9
Chega de conversa!
Vamos trabalhar?
10. Tec. em Sistemas para Internet - IFMS 10
Hands on: Instalação e configuração
11. Tec. em Sistemas para Internet - IFMS 11
Download
http://www.python.org/getit/
12. Tec. em Sistemas para Internet - IFMS 12
Configuração: Windows
Para poder executar o Python dentro de
qualquer diretório via linha de comando,
adicione o caminho da pasta bin (localizada
dentro da pasta da instalação do Python) na
variável de ambiente Path
13. Tec. em Sistemas para Internet - IFMS 13
Instalando bibliotecas
Para instalar um novo componente/biblioteca
para utilizar em seus programas escritos em
Python, é necessário instalar a ferramenta pip
14. Tec. em Sistemas para Internet - IFMS 14
Instalando o pip no Windows
● Faça o download da última versão do pip neste link:
https://pypi.python.org/pypi/pip#downloads
● Descomprima a pasta do pip
● Faça o download do easy installer para o Windows no link a seguir
e o instale: https://pypi.python.org/pypi/setuptools
● No prompt do MS-DOS, entre na pasta do pip e execute o
comando abaixo:
python setup.py install
15. Tec. em Sistemas para Internet - IFMS 15
Instalando o pip no Ubuntu
No shell, digite o comando abaixo:
sudo apt-get install python-pip
16. Tec. em Sistemas para Internet - IFMS 16
Instalando novos componentes
● Para instalar um novo componente, use o pip
em linha de comando.
● Ex.:O comando abaixo instala o componente
Beautiful Soup:
pip install beautifulsoup
17. Tec. em Sistemas para Internet - IFMS 17
Tudo configurado! Vamos programar?
18. Tec. em Sistemas para Internet - IFMS 18
Hands on: Escrevendo programas em Python
19. Tec. em Sistemas para Internet - IFMS 19
Usando o shell do Python
$ python
Python 2.7.4 (default, Apr 19 2013, 18:28:01)
[GCC 4.7.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 1+1
2
>>>'Repetindo o texto 3 vezes' * 3
'Repetindo o texto 3 vezes Repetindo o texto 3 vezes Repetindo o texto 3 vezes '
20. Tec. em Sistemas para Internet - IFMS 20
Escrevendo scripts
● Escreva o seu programa Python em seu editor
de texto preferido
● Salve o seu script com a extensão .py
● Execute o seu script no shell com o comando
python:
python NOME_DO_SCRIPT.py
21. Tec. em Sistemas para Internet - IFMS 21
A seguir, alguns exemplos!
22. Tec. em Sistemas para Internet - IFMS 22
Imprimindo uma mensagem na tela
print 'Primeiro programa em Python!'
23. Tec. em Sistemas para Internet - IFMS 23
Repetindo mensagens na tela
print 'Imprimindo esta linha 3 vezesn' * 3
24. Tec. em Sistemas para Internet - IFMS 24
Imprimindo caracteres especiais
# Esta frase foi comentada!
# coding=utf8
# A linha acima serve para permitir
#o uso de caracteres especiais no
#script
print 'Olá mundo!á$üçêõ'
25. Tec. em Sistemas para Internet - IFMS 25
Declarando variáveis
variavel = 4
print variavel
variavel = 'Professor Sidney'
print variavel
variavel = True
print variavel
26. Tec. em Sistemas para Internet - IFMS 26
Operações matemáticas
# coding=utf8
numero = 54
outro_numero = numero ** numero # Exponenciação
# Python lida muito bem com números
# de alta precisão!
# Imprime o valor:
# 3542118045010639240328481337533320712639808638036812473211109743262552383710557968252383789056
print outro_numero
outro_numero = 1
# Imprime o valor:
# 3542118045010639240328481337533320712639808638036812473211109743262552383710557968252383789055
print outro_numero
outro_numero = numero * 3 + (numero)
print outro_numero # 108
outro_numero = (outro_numero * 1.0) / 9374561724139
print outro_numero # 1.15205385786e11
27. Tec. em Sistemas para Internet - IFMS 27
Operações lógicas
condicao1 = True
condicao2 = False
resultado = condicao1 and condicao2
print resultado # False
resultado = condicao1 or condicao2
print resultado # True
resultado = condicao1 and not condicao2
print resultado # True
resultado = condicao1 and not(False or condicao1) and not condicao2
print resultado # False
28. Tec. em Sistemas para Internet - IFMS 28
Sequência de Fibonacci
(usando um laço for)
# coding=utf8
numero = 1
anterior = 0
quantidade_numeros = 10
for _ in range(quantidade_numeros):
# A identação é obrigatória!
print '%d '%numero,
aux = numero
numero += anterior
anterior = aux
29. Tec. em Sistemas para Internet - IFMS 29
Sequência de Fibonacci
(usando um laço while)
numero = 1
anterior = 0
quantidade_numeros = 10
contador = 0
while contador < quantidade_numeros:
print '%d '%numero,
aux = numero
numero += anterior
anterior = aux
contador += 1
30. Tec. em Sistemas para Internet - IFMS 30
Controlando o fluxo de execução
# coding=utf8
lista = range(10)
for numero in lista:
numero += 1
if numero % 2 == 0:
print '%d é par'%numero
elif numero % 3 == 0:
print '%d é divisível por 3'%numero
else:
print '%d é ímpar e não divisível por 3'%numero
31. Tec. em Sistemas para Internet - IFMS 31
Controlando o fluxo de execução
# coding=utf8
lista = range(10)
for numero in lista:
numero += 1
print "%d é par"%numero if numero % 2 == 0 else "%d é ímpar"%numero
32. Tec. em Sistemas para Internet - IFMS 32
Lendo uma string do usuário
frase = raw_input("Digite uma frase: ")
print frase
33. Tec. em Sistemas para Internet - IFMS 33
Lendo um número do usuário
# coding=utf8
numero = raw_input("Digite um número: ")
if numero.isdigit():
print "Número digitado: %s"%numero
else:
print "O valor digitado não é um número!"
35. Tec. em Sistemas para Internet - IFMS 35
Links de referência
Python: Cabe no seu bolso, no seu micro, no seu cérebro. Disponível em
http://www.slideshare.net/rodsenra/unicampago2010pdf. Acessado em 28 de abril de 2013.
Python (programming language): Which Internet companies use Python. Disponível em
http://www.quora.com/Python-programming-language-1/Which-Internet-companies-use-Python. Acessado em 28 de abril
de 2013.
Python Sucess Stories. Disponível em http://www.python.org/about/success/. Acessado em 28 de abril de 2013.