PYTHON - BÁSICO

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)




Python

Nenhum comentário:

Postar um comentário