Python - O básico da sintaxe
Um guia rápido e básico da linguagem Python.
Variáveis
Uma
variável não pode ser utilizada em uma expressão sem ter sido inicializada
Não
existe "criação automática" de variáveis.
Exemplo
de atribuição:
reais = euros * taxa
As
variáveis euros e taxa devem ser
inicializadas, se não o erro name
'euros' is not defined será exibido.
Também podemos
inicializar mais de uma variável dessa forma...
>>> a, b = 10, 20
>>> a
10
>>> b
20
Valor nulo (null)
Em
Python, None equivale ao
valor nulo (null).
Podemos
iniciar as variáveis com o valor None.
reais = None
Saídas
Saída
simples válido para a versão 3 de Python.
print("Welcome to Python!")
string_1 = "Camelot"
string_2 = "place"
print("Let's not go to %s. 'Tis a silly %s." % (string_1,
string_2))
Entradas
name
= raw_input("What is your name?")
quest = raw_input("What is your quest?")
color = raw_input("What is your favorite
color?")
print("Ah, so your name is %s, your quest is %s, " \
"and your favorite color is %s." % (name, quest,
color) )
Endentação
Python
usa endentação como delimitação de bloco, portanto devemos endentar
corretamente o código fonte.
Abaixo
vemos um código endentado de forma errada:
def spam():
eggs = 12
return eggs
print(spam())
Abaixo,
vemos o mesmo código corrigido:
def spam():
eggs = 12
return eggs
print(spam())
Blocos
Como
visto acima, Python usa endentação como delimitação de bloco.
Abaixo
vemos os comandos que aceitam blocos:
·
if/elif/else
·
for/else
·
while/else
·
def
·
try/except
/finally/else
·
class
·
with
Se o
bloco tem apenas um comando, pode-se escrever tudo em uma linha:
if n < 0: print('Valor inválido')
Comentários
Em linha.
# comentário de linha
""" Esse é de bloco
mas está em uma linha só """
Em bloco.
"""
comentários
comentários
comentários
"""
Aspas
simples também funciona.
'''
this is
a multi-line
comment, i am handy for commenting
out whole
chunks of code very fast
'''
Tipos de dados
básicos
Números:
|
int, long, float, complex
|
Strings:
|
str e unicode
|
Listas e tuplas:
|
list, tuple
|
Dicionários:
|
dict
|
Arquivos:
|
file
|
Booleanos:
|
bool (True, False)
|
Conjuntos:
|
set, frozenset
|
None:
|
Se, por
exemplo, você digitar no console dict ele retornará:
<class 'dict'>
A
função type() mostra
o tipo do dado, veja alguns exemplos.
type("text") # <class 'str'>
type(1) # <class 'int'>
type(0.99) # <class 'float'>
Também é
possível elaborar as seguintes expressões.
type(1) == int
# True
type(0.99) == float # True
Números
Python
possui + - * /, nem
precisava falar!.
Mas
talvez você se pergunte como calcular uma potência.
10 ** 2 # print(100)
...ou o
resto da divisão com o operador módulo %.
3 % 2 = 1
5 % 2 = 1
Veja
também algumas funções matemáticas:
max(5, 6, 7) # 7
min(5, 6, 7) # 5
abs(-1)
# 1
Para
trabalhar com números randômicos será preciso importar o módulo random.
import random
random.randint(1, 10)
O código
acima irá gerar números randômicos entre 1 e 10 (incluindo o 1 e o 10).
Strings
Concatenamos
strings com o sinal +.
"Spam " + "and" + " eggs"
Quando
concatenamos com um número, precisamos fazer a conversão.
"The value of pi is around
" + str(3.14)
Escapamos
(scape) caracters com o sinal \
'There's a snake in my boot!' # errado
'There\'s a snake in my
boot!' # correto
Métodos básicos de
string
função
|
descrição
|
len()
|
mostra o tamanho da string
|
lower()
|
caixa baixa
|
upper()
|
caixa alta
|
str()
|
converte em string
|
isalpha()
|
retorna False se a string contiver algum caracter
que não seja letras
|
Exemplo, "flavio.upper()" equivale
a FLAVIO.
Acessando pelo
index
+---+---+---+---+---+---+
| p | y | t | h | o | n |
+---+---+---+---+---+---+
0 1
2 3
4 5
"python"[0] # 'p'
"python"[1] # 'y'
"python"[2] # 't'
"python"[3] # 'h'
"python"[4] # 'o'
"python"[5] # 'n'
Percorrendo strings
(string lopping)
for letter in "python":
print(letter)
"""
p
y
t
h
o
n
"""
Controle de fluxo
(condicionais)
if expressao == True:
print("true")
else:
print("false")
if answer > 5:
return 1
elif answer < 5:
return -1
else:
return 0
Laços de repetição
Exemplo
com for...
lista = ["p", "y", "t", "h", "o", "n"]
for item in lista:
print item
"""
p
y
t
h
o
n
"""
Exempo
com while...
count = 0
while count <= 5:
print(count)
count += 1
# 0 1 2 3 4 5
Funções
def foo():
return "retorno da função"
print(foo()) # "retorno da
função"
Outro
exemplo
def add_two(a, b):
c = a + b
return c
Imports
Para
importar um módulo utilizamos o import.
import math
print(math.sqrt(25))
O código
acima importará todos os módulos de math, para importar apenas o necessário utilizamos from.
from math import sqrt
No
terminal, para diminuir a digitação, costuma-se importar todas as funções
de math dessa
forma:
from math import *
Em geral,
a prática do import * de
um módulo ou pacote é desaprovada, uma vez que muitas vezes dificulta a leitura
do código.
Datas
from datetime import datetime
now = datetime.now()
print(now)
print(now.year)
print(now.month)
print(now.day)
Para
imprimir a data no formato brasileiro:
print('%s/%s/%s' % (now.day, now.month, now.year))
Imprimindo
as horas:
print('%s:%s:%s' % (now.hour, now.minute, now.second))
Listas (lists)
animals = ["pangolin", "cassowary", "sloth", "dog"];
animals[0] # 'pangolin'
animals[1] # 'cassowary'
animals[2] # 'sloth'
animals[3] # 'dog'
Ao
acessar um índice inexistente recebemos um erro.
animals[4] # IndexError: list index out of range
A
função len() retorna
o tamanho da lista.
len(animals) # 4
range()
A
função range() retorna
uma lista de inteiros. Seu conteúdo é definido pelos argumentos, veja:
·
range(terminal)
·
range(start,
terminal)
·
range(start,
terminal, step_size)
Exemplos:
range(4)
[0, 1, 2, 3]
range(2, 8)
[2, 3, 4, 5, 6, 7]
range(2, 13, 3)
[2, 5, 8, 11]
Percorrendo
(lopping):
for i in range(20):
print(i)
Dicionários
(dictionaries)
people = {
"name": "joao",
"age": 39,
"skylls": ['python', 'ruby', 'php']
}
print(people['name'])
print(people['age'])
print(people['skylls'])
"""
joao
40
['python', 'ruby', 'php']
"""
Lambdas
Exemplo:
g = lambda x: x * 2
print(g(6))
# 12
Para
facilitar o entendimento, veja código abaixo, ele é similar.
def f(x):
return x * 2
print(f(6))
# 12
OOP - Programação
Orientada a Objetos
Abaixo
vemos um exemplo de classe em Python.
class Triangle(object):
def __init__(self, angle1, angle2,
angle3):
self.angle1 = angle1
self.angle2 = angle2
self.angle3 = angle3
def sum_triangle(self):
return self.angle1 + self.angle2 + self.angle3
def check_angles(self):
if(self.triangle() == 180):
return True
else:
return False
Abaixo
vemos um exemplo simples de como instanciar uma classe em
Python.
figure = Triangle(30, 40, 50)
Nenhum comentário:
Postar um comentário