Por que Python?
- Sintaxe de fácil assimilação;
- Nível de abstração alto;
- Extensa biblioteca de código padrão;
- Tipos são associados à objetos e não às variáveis, por isso não é preciso declarar tipo 😍 ;
- É uma linguagem extremamente expressiva, você vai escrever menos código comparada à outras linguagens, e obter o mesmo resultado:
// Java
int temp = var1;
var1 = var2;
var2 = temp;
# Python
var2, var1 = var1, var2
Python 2
Python 3
x
ASCII
Unicode
# declaração print
print "Hello World!"
raw_input()
# Divisão de inteiro
>>> 5 / 2
2
# função print
print("Hello World!")
input()
# Divisão de inteiro
>>> 5 / 2
2.5
Python 2
Python 3
x
Python 2.x é legado, Python 3.x é o presente e o futuro da linguagem.”
A principal vantagem do 3.x é ser uma tecnologia que está na dianteira, então todos os novos componentes serão implementados no 3.x ao invés de serem adicionados ao 2.x. A outra coisa que você pode querer considerar é que será a linguagem python do futuro, então olhando daqui a alguns anos, será o branch da linguagem o qual a comunidade irá usar.”
Aprender
python 2 ou python 3?
Aprender
python 2 ou python 3?
Tomando em conta que estamos começando a aprender Python hoje, você tem 2 alternativas:
- Aprender Python 2.7 e depois Python 3.5 e então trabalhar portando aplicativos de uma versão para a outra;
- Ou começar com Python 3.5 e trabalhar desenvolvendo novos aplicativos, já que o suporte ao Python 2 terminará no ano de 2020.
Instalação
Você pode instalar a versão Anaconda ou Miniconda em:
Ou instalar as versões
2.x ou 3.x de python
puro em:
$ brew doctor
$ brew update
#for python 2
$ brew install python
#for python 3
$ brew install python3
#para o python 2
$ sudo apt-get install python2
#para o python 3
$ sudo apt-get update
$ sudo apt-get install python3
#para python 2
$ pip install -U pip
#para python 3
$ pip3 install -U pip
Manual completo de instalação dos 3 OS's em:
https://github.com/belacb/python-bootcamp-minicourse/blob/master/setup-install/
USE
AMBIENTES VIRTUAIS
PELO AMOR DE
DEUS!!!!!
Como já vimos, a função / declaração de print tem suas diferenças entre o python 2 e o python 3:
# Python 3
print("Olá turma!")
> Olá turma!
#ou
print("Olá","turma!")
> Olá turma!
Formatação com format()
print("Olha isso: Eu posso {} uma string de {} maneiras.".format('formatar', 'diferentes'))
>>> Olha isso: Eu posso formatar uma string de diferentes maneiras.
print("E também posso alterá-la assim: Eu posso {1} uma string de {0} maneiras.".format('formatar',
'diferentes'))
>>> E também posso alterá-la assim: Eu posso diferentes uma string de formatar maneiras.
print("Olha mais essa: Eu posso {var1} uma string de {var2} maneiras.".format(var1 = 'formatar',
var2 = 'diferentes'))
>>> Olha mais essa: Eu posso formatar uma string de diferentes maneiras.
Porém imagine que você precisa fazer múltiplas formatações com múltiplas variáveis. E aí em determinado momento você precisa mudar a ordem de impressão dessas variáveis todas. Vai ser um pouquinho trabalhoso mudar todos os nomes de variáveis em todos os lugares necessários...
E para isso existe uma solução: o método format().
Números
Em Python nós temos 4 tipos numéricos: int, long, float e complex.
-
int: números inteiros;
-
long: números inteiros muito grandes;
-
float: números de ponto flutuante;
-
complex: números complexos.
Nesse curso iremos focar em números do tipo int e float.
Aritmética
# Adição
2 + 5
>>> 7
# Subtração
5 - 2
>>> 3
# Multiplicação
2 * 5
>>> 10
# Divisão py3
2 / 5
>>> 2.5
# Elevar um número
5**2
>>> 25
# Raiz
25**(1/2.0)
>>> 5.0
# Ordem de operações em python
2 + 10 * 10 + 3
>>> 105
# Parênteses para especificar a ordem
(2+10) * (10+3)
>>> 156
from math import sqrt
sqrt(25)
>>> 5.0
String
Em Python uma string é interpretada como uma sequência de letras em ordem específica. Por isso podemor usar o índex para pegar letras específicas da palavra, como se você estivesse mexendo com um array em Java.
#Atribuindo uma string à variável s
s = 'Boa noite turma!'
>>> Boa noite turma!
#Printando indexes da string
print('{} {} {}'.format(s[0], s[6], s[-1]))
>>> B i !
#Indexar de a até b (sem incluir b)
a, b = 2, 7
s[a:b]
>>> a noi
#Usando [::n] mostra a string de n a n
#caracteres
s[::2]
>>> Banietra
#Utilizando [::-1] você mostra a
#string de trás pra frente
s[::-1]
s[3:-1:-1]
>>> !amrut etion aoB
>>> amrut etion
String
# Você pode descobrir o tamanho usando len()
len(s)
>>> 16
# CAIXA ALTA COM:
s.upper()
>>> BOA NOITE TURMA!
# caixa baixa com:
s.lower()
>>> boa noite turma!
# Cortar strings com split
s.split()
>>> ['Boa','noite','turma!']
# Cortar strings com split
s.split('t')
>>> ['Boa ','noi', 'e ','urma!']
# Multiplicação de string
s = 'oi'
oi*5
>>> oioioioioi
Operadores de comparação
Operador | Descrição | Exemplo |
---|---|---|
== | Se nº à esquerda é igual ao nº à direita, retorna verdadeiro | 0 == 1 é falso |
!= | Se nº à esquerda é diferente do nº à direita, retorna verdadeiro | 0 != 1 é verdadeiro |
<> | Se nº à esquerda é diferente do nº à direita, retorna verdadeiro | 0<>1 é verdadeiro |
> | Se nº à esquerda é maior que o nº à direita, retorna verdadeiro | 0 > 1 é falso |
< | Se nº à esquerda é menor que o nº à direita, retorna verdadeiro | 0 < 1 é verdadeiro |
>= | Se nº à esquerda é maior ou igual ao nº à direita, retorna verdadeiro | 0>=1 é falso |
<= | Se nº à esquerda é menor ou igual ao nº à direita, retorna verdadeiro | 0<=1 é verdadeiro |
if, elif e else
pessoa = 'George'
if pessoa == 'Fred':
print('Bem vindo Fred!')
elif pessoa =='George':
print("Bem vindo George!")
else:
print("Bem vindo, você é um Weasley?")
Use indentação
no seu código, ou você será para sempre excomungado da comunidade python!
Na verdade,
seu código
simplesmente
não irá ser interpretado
Listas
Assim como com strings em Python, em listas podemos obviamente indexar os itens.
#Atribuindo valores à uma lista
lista = ['Hoje são', 25, 'de setembro,', 20, ':', 10]
#Printando indexes da string
print('{} {}'.format(lista[0], lista[-1]))
>>> Hoje são 10
#Indexar
lista[2:]
>>> ['de setembro,', 20, ':', 10]
Listas
# Você pode descobrir o tamanho usando len()
len(lista)
>>> 6
# Adicionar valor ao fim da lista:
lista.append('!')
lista
>>> ['Hoje são', 30, 'de junho,', 14, ':', 30, '!']
#método pop para retirar um item da lista
lista.pop(2)
>>> de junho
lista = ['oi', 'um', 'dois', 'tres']
lista.sort()
>>> ['dois', 'oi', 'tres', 'um']
lista.reverse()
>>> [30, ':', 14, 'de junho,', 30, 'Hoje são']
# Default pop
item = lista.pop()
item
>>> !
for
palavra = 'Python!'
for letra in palavra:
print(letra)
>>> P
>>> y
>>> t
>>> h
>>> o
>>> n
>>> !
lista = [1,2,3,4,5,6,7,8,9,10]
for numero in lista:
if numero % 2 == 0:
print(numero)
>>> 2
>>> 4
>>> 6
>>> 8
>>> 10
range() e xrange()
vinte = range(0,20)
vinte
>>> [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]
vinte = range(0,20,2)
vinte
>>> [0,2,4,6,8,10,12,14,16,18]
for num in range(7):
print(num)
>>> 0
>>> 1
>>> 2
>>> 3
>>> 4
>>> 5
>>> 6
for
palavra = 'Python!'
lista_letras = []
for letra in palavra:
lista_letras.append(letra)
lista_letras
>>> ['P','y','t','h','o','n','!']
list comprehensions
palavra = 'Python!'
lista_letras = [letra for letra in palavra]
>>> ['P','y','t','h','o','n','!']
# números pares utilizando range()
pares = [numero for numero in range(11) if x % 2 == 0]
pares
>>> [0,2,4,6,8,10]
While
i = 0
while i < 5 :
print(i)
>>> 0
>>> 1
>>> 2
>>> 3
>>> 4
Métodos
def hello_world():
print('Hello World!')
hello_world()
>>> Hello World!
Validação
Processamento
Renderização
Django
Web Server
Web Browser
request URL
HTML
CRIAndo o Projeto
django-admin startproject <nome-do-projeto>
ExecutAndo o Projeto
python manage.py runserver
Criando um App
python manage.py startapp <nome-do-app>
ExecutAndo o Projeto
python manage.py runserver
Criando um App
python manage.py startapp <nome-do-app>
Views
from django.http import HttpResponse
# Create your views here.
def index(request):
return HttpResponse('<h1>Hello!</h1>')
from django.shortcuts import render
# Create your views here.
def index(request):
return HttpResponse('<h1>Hello!</h1>')
Leitura recomendada
- Explicando as diferenças de Python 2 e 3: site
- Lista de diferenças entre Python 2 e Python 3: pdf
- Python 3.x: Trust Me, It's Better Than 2.x : video
- Python 3 is killing Python2: blog article
- Python 2 vs Python 3: blog article
Utilidades
- GitKraken: interface gráfica pro git (facilita a vida)
- GitHub Edu Pack: pacote de coisas grátis pra desenvolvedores
- Dicas para seu projeto open-source: link
- Codewars: site de exercícios pra trocentas linguagens de programação
- Dicas pra fazer aquele currículo fodão: slide
IZABELA BORGES
hello@izabelacborges.com
(31)982223763
Python - MIC PUC Minas
By Izabela Borges
Python - MIC PUC Minas
This is a short course on the Python programming language. The syntax, the basics, some data structures and some cool features with puzzles and mini hackatons to test what you learned.
- 623