Python
Python
O QUE É ?
Python é uma linguagem de programação popular. Foi criado por Guido van Rossum, e
lançado em 1991.
É usado para:
desenvolvimento web (lado do servidor),
desenvolvimento de software
Matemática
Scripting do sistema.
CONCEITOS INICIAIS
Linguagem de programação fácil de aprender e poderosa
Natureza interpretada
Linguagem ideal para scripting e desenvolvimento rápido
O interpretador Python é facilmente estendido com novas funções e tipos de dados
implementados em C ou C++.
Python também é adequado como uma linguagem de extensão para aplicações
personalizáveis.
POR QUE PYTHON ?
Automação de tarefas
Disponível no Windows, Mac OS X, Unix e Linux
É uma linguagem de alto nível
É interpretada
Economiza tempo, porque não precisa de compilação ou vinculação (linking)
É extensível
PROGRAMAS COMPACTOS
Geralmente menores que outros equivalentes (C, C++ ou Java)
Os tipos de dados de alto nível permitem que você expresse operações complexas em uma
única declaração;
O agrupamento de declarações é feito por recuo em vez de parênteses iniciantes e finais;
Não são necessárias declarações variáveis ou de argumento.
PYTHON – POR QUE ESSE
NOME ?
Homenagem a um programa da BBC “Monty Python's Flying Circus”
CARACTERÍSTICAS
Python é uma linguagem de programação de alto nível, interpretada, de script, imperativa,
orientada a objetos, funcional, de tipagem dinâmica e forte.
POR QUE ESCOLHER
PYTHON ?
Python funciona em diferentes plataformas (Windows, Mac, Linux, Raspberry Pi, etc).
Python tem uma sintaxe simples semelhante à língua inglesa.
Python tem sintaxe que permite aos desenvolvedores escrever programas com menos linhas do
que algumas outras linguagens de programação.
Python é executado em um sistema de intérprete, o que significa que o código pode ser
executado assim que for escrito. Isso significa que a prototipagem pode ser muito rápida.
Python pode ser tratado de forma processual, de forma orientada a objetos ou de forma
funcional.
VERSÕES
VERIFICANDO A VERSÃO
python --version
ARQUIVOS .PY
Python é uma linguagem interpretada
Os programas ficam em arquivos com extensão .py
Sintaxe para rodar um programa:
python NomeDoPrograma.py
Exemplo: ola.py
print(“ola mundo!”)
USANDO O INTERPRETADOR
Use o comando python no prompt para entrar
TIPAGEM DINÂMICA
Interpretador do Python infere o tipo dos dados
Tipo definido em runtime
TIPAGEM FORTE
Interpretador do Python avalia as expressões e não faz coerções automáticas entre tipos não
compatíveis
MOSTRAR MENSAGEM NA TELA /
INDENTAÇÃO
print("Hello, World!")
if 5 > 1:
print(“5 é maior que 2”)
Usando um condição (modo errado)
if 5 > 1:
print(“5 é maior que 2”)
# um comentário
# de três linhas #This is a comment
#written in
#more than just one line
print("Hello, World!")
COMENTÁRIOS
Python ignora strings que não estão associadas a uma variável. Você pode usar uma string de
múltiplas linhas (com três aspas) no seu código.
"""
This is a comment
written in
Você pode fazer simplesmente assim:
more than just one line
""" """
print("Hello, World!")
Esse é
um comentário
de três linhas
"""
CRIANDO VARIÁVEIS
x = 5 # é um inteiro int
y = "John" # é uma string str
print(x)
print(y)
x = 5
y = "John"
print(type(x))
print(type(y))
STRINGS
As variáveis de string podem ser declaradas usando aspas
únicas ou duplas:
x = "John"
# é o mesmo que…
x = 'John'
PYTHON É CASE SENSITIVE
a = 4
A = "Sally"
Os nomes variáveis são case sensitive (idade, idade e IDADE são três variáveis diferentes)
Nomes inválidos
myvar = "John"
my_var = "John"
2myvar = "John"
_my_var = "John"
my-var = "John"
myVar = "John"
my var = "John"
MYVAR = "John"
myvar2 = "John"
TÉCNICAS PARA
LEGIBILIDADE
Nomes de variáveis com mais de uma palavra podem ser difíceis de ler.
Camel Case
Cada palavra, exceto a primeira, começa com letra maiúscula
myVariableName = "John"
Pascal Case
Cada palavra começa com letra maiúscula
MyVariableName = "John"
Snake Case
Cada palavra é separada por um underscore (sublinhado)
my_variable_name = "John"
ATRIBUINDO VÁRIOS
VALORES
Python permite que você atribua valores a várias variáveis em uma linha
x, y, z = "Orange", "Banana", "Cherry"
print(x)
print(y)
print(z)
x =" legal"
print("Python é" + x)
x = "Python é "
y = " legal"
z = x + y
print(z)
x = 5
y = 10
print(x + y)
VARIÁVEIS DE SAÍDA
Não posso juntar a string com o número:
x = 5
y = "John"
print(x + y)
ERRADO!
Só se fizer uma conversão:
print(str(x)+y)
CERTO!!!
VARIÁVEIS GLOBAIS
Variáveis que são criadas fora de uma função são conhecidas como variáveis globais.
Variáveis globais podem ser usadas por todos, tanto dentro das funções quanto fora.
x = " legal"
def myfunc():
print("Python é " + x)
myfunc()
VARIÁVEIS GLOBAIS
Se você criar uma variável com o mesmo nome dentro de uma função, esta variável será local, e
só pode ser usada dentro da função.
A variável global com o mesmo nome permanecerá como era, global e com o valor original.
x = "legal"
def myfunc():
x = " massa"
print("Python é " + x)
myfunc()
print("Python é " + x)
PALAVRA CHAVE: GLOBAL
Para criar uma variável global dentro de uma função, você pode usar a palavra-chave global
def myfunc():
global x
x = "fantastic"
myfunc()
print("Python is " + x)
PALAVRA CHAVE: GLOBAL
Além disso, use a palavra-chave se quiser alterar uma variável global dentro de uma função
global
x = "awesome"
def myfunc():
global x
x = "fantastic"
myfunc()
print("Python is " + x)
INDENTAÇÃO – BLOCO DE
CÓDIGO
Por exemplo, em C, um código teria a seguinte aparência:
if (x > 0) {
Comando1; Comando2;
}
Em Python, teríamos:
if x > 10:
Comando1
Comando2
BUILT-IN DATA TYPES
Text Type: str
Numeric Types: int, float, complex
Sequence Types: list, tuple, range
Mapping Type: dict
Set Types: set, frozenset
Boolean Type: bool
Binary Types: bytes, bytearray, memoryview
NÚMEROS
Existem três tipos numéricos em Python:
int
float
complex
x = 1 # int
y = 2.8 # float
z = 1j # complex
INT
int, ou inteiro, é um número inteiro, positivo ou negativo, sem decimais, de comprimento
ilimitado.
x = 1
y = 35656222554887711
z = -3255522
print(type(x))
print(type(y))
print(type(z))
FLOAT
"número de ponto flutuante" é um número, positivo ou negativo, contendo um ou mais
decimais.
x = 1.10
y = 1.0
z = -35.59
print(type(x))
print(type(y))
print(type(z))
FLUTUANTE
Também pode ser números científicos com um "e" para indicar a potência de 10.
x = 10e2
y = 2E3
z = -5E10
print(type(x))
print(type(y))
print(type(z))
COMPLEXO
Números complexos são escritos com um "j" como a parte imaginária:
x = 3+5j
y = 5j
z = -5j
print(type(x))
print(type(y))
print(type(z))
CONVERSÃO DE TIPO
NUMÉRICOS
Você pode converter de um tipo para outro com os métodos: int(), float(), complex()
print(x)
print(y)
print(z)
print(type(x))
print(type(y))
print(type(z))
CONVERSÃO DE TIPO
NUMÉRICOS
Não é possível converter um número complex em outro tipo
x=1+2j
z=int(1+2j)
Irá gerar um erro!
NÚMERO ALEATÓRIO
Python não tem uma função para fazer um número aleatório, mas python tem um módulo
embutido que pode ser usado para fazer números aleatórios
Veja como gerar um número aleatório entre 1 e 9. Note que o último numero da faixa (10) não
entra.
import random
print(random.randrange(1, 10))
PYTHON STRINGS
As strings em python são cercadas por aspas únicas ou aspas duplas.
'Olá' é o mesmo que "olá".
print("Hello")
print('Hello')
Você pode atribuir uma sequência de múltiplas linhas a uma variável usando três aspas:
a = """linha 1
Linha 2
linha 3."""
STRINGS SÃO VETORES
(ARRAYS)
Strings são vetores de bytes. Representando caracteres Unicode.
Python não tem um tipo para um único caractere. Para tanto, deve-se usar um string com tamanho 1.
Colchetes são usados para acessar um determinado elemento.
Lembre-se que o primeiro caractere tem a posição 0
b = "Hello, World!"
print(b[2:5])
b = "Hello, World!"
print(b[:5])
b = "Hello, World!"
print(b[2:])
SLICING
Usando índices negativos
b = "Hello, World!"
print(b[-5:-2])
MODIFICANDO AS STRINGS
Método Função
len() Retorna o comprimento da string
strip() Remove espaços em branco do início ou do final da string
lower() Retorna a string em minúsculas
upper() Retorna a string em maiúsculas
replace() Substitui uma string pela outra
split() Divide a string em substrings
SPLIT COM MAIS DETALHES
string.split(separator, maxsplit)
age = 36
txt = "My name is John, and I am {}"
print(txt.format(age))
quantity = 3
itemno = 567
price = 49.95
myorder = "I want {} pieces of item {} for {} dollars."
print(myorder.format(quantity, itemno, price))
ESCAPE CHARACTERS
Python usa a barra invertida \
Errado
Correto
ESCAPE CHARACTERS
MÉTODOS PARA STRINGS
Primeira letra da frase fica maiúscula
txt = "banana"
x = txt.center(20)
print(x)
MÉTODOS PARA STRINGS
Centraliza o texto.
O caracter padrão de preenchimento é o espaço vazio, mas pode ser
outro.
No exemplo, será considerado um espaço de 20 caracteres
txt = "banana"
x = txt.center(20, "x")
print(x)
MÉTODOS PARA STRINGS
Conta o número de vezes que uma string aparece
No exemplo, conta o número de vezes que aparece “apple”
find(): retorna a posição de uma substring. Gera -1 se nenhum valor for encontrado.
index(): similar ao find, mas gerar um exceção se nenhum valor for encontrado.
print(10 > 9)
print(10 == 9)
print(10 < 9)
print(bool("Hello"))
print(bool(""))
print(bool(" "))
print(bool(15))
print(bool(0))
print(bool(-1))
TIPOS DE SEQUÊNCIA
Range
List
Tuple
LISTA
Uma lista contém itens separados por vírgulas e entre colchetes
Podem ser de tipos diferentes
O último elemento possui índice -1
+ Adiciona valores a + b = 40
% Resto da divisão b% a = 0
** Potência a ** b = 10 elevado a 30
// Divisão de desconsiderando 9 // 2 = 4
casas decimais. Se for negativo, é
-11 // 3 = -4
arredondado para cima.
OPERADORES DE
COMPARAÇÃO
Operador Descrição Exemplo
== Igualdade (a == b)
!= Diferente (a != b)
> Maior que (a > b)
< Menor que (a < b)
>= Menor ou igual (a >= b)
<= Maior ou igual (a <= b)
OPERADORES DE ATRIBUIÇÃO
OP Descrição Exemplo
c=c+a
c=c–a
c=c*a
OPERADORES LÓGICOS
Operador Descrição Exemplo
or OR lógico (a ou b)
print("free" in txt)
OPERADOR DE IDENTIDADE
Operador Descrição Exemplo
a = 2
b = 330
print("A") if a > b else print("B")
USANDO AND
a = 200
b = 33
c = 500
if a > b and c > a:
print("Both conditions are True")
USANDO OU
a = 200
b = 33
c = 500
if a > b or a > c:
print(“Pelo menos uma condição é verdade")
SE ANINHADO
x = 41
if x > 10:
print("Above ten")
if x > 20:
print("and also above 20!")
else:
print("but not above 20.")
LOOPS
i = 1
while i < 6:
print(i)
i += 1
USO DO BREAK
i = 1
while i < 6:
print(i)
if i == 3:
break
i += 1
USO DO CONTINUE
Para a iteração atual, e continuar com a próxima:
i = 0
while i < 6:
i += 1
if i == 3:
continue
print(i)
USO DO FOR
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
RANGE
range(start, stop, step)
start: Número inicial da sequência.
stop: Gera números até, mas não incluindo esse número.
step: Diferença entre cada número na sequência.
for a in range(11):
print(a)
for k in range(3, -4,-1):
print(k)
for k in range(0, 5,2):
print(k)
LOOPING ATRAVÉS DE UMA
STRING
for x in "banana":
print(x)
FUNCOES
def my_function():
print("Hello from a function")
my_function("Emil")
my_function("Tobias")
my_function("Linus")
VALORES DE RETORNO
def my_function(x):
return 5 * x
print(my_function(3))
print(my_function(5))
print(my_function(9))