Sintaxe Básica do Python
Variáveis
Como explicado no texto Sobre a linguagem Python, ele é uma linguagem dinamicamente tipada. Isso significa que uma mesma variável pode representar qualquer tipo de dado (número, string, objeto, etc.).
Exemplo:
nome_cliente = "José Silva"
print(nome_cliente) # irá mostrar 'José Silva'
nome_cliente = 10
print(nome_cliente) # irá mostrar '10'
Definição de Escopo
- Evita aquele problema que todo programador já teve de abrir várias chaves e depois não saber qual chave está faltando fechar
- Obriga os programadores à identar o código de uma forma padronizada, melhorando a legibilidade dos códigos Python no geral
numero = 10 # escopo da função
with open("arquivo.txt", "r") as palavra:
print(palavra.readline()) # escopo do with open
Condicionais
No Python também existe o famoso if/else. A única peculiaridade é que o else if é representado por elif.
Exemplo:
if (idade_cliente < 10):
print("Criança")
elif (idade_cliente < 18):
print("Adolescente")
else:
print("Adulto")
Também temos o famoso operador ternário, que possui uma sintaxe um pouco diferente do habitual condição ? valor_se_verdadeiro : valor_se_falso. A sintaxe no Python é valor_se_verdadeiro if condição else valor_se_falso.
Exemplo:
texto = "Menor de idade" if idade_cliente < 18 else "Maior de idade"
Funções
As funções são definidas usando def nome_da_funcao(parametro1, parametro2):
Assim como as variáveis são dinamicamente tipadas, também não é possível definir o tipo de retorno do método ou dos parâmetros.
Exemplo:
return valor_1 if valor_1 > valor_2 else valor_2
Um ponto importante a se ressaltar é que uma função pode retornar mais de um valor.
Exemplo:
def retorna_valores():
return 1, 2
Laços
Falando de laços, o Python suporta o while e o for, que podem ser bem flexíveis em sua sintaxe. Por exemplo, o for pode funcionar como um forEach(), iterando em uma coleção, ou como um for "tradicional", onde é definido um valor inicial, final e as modificações em cada iteração.
Exemplo 1:
for i in range(1, 10, 1):
print(i) # vai exibir os números de 1 à 9
Exemplo 2:
array = [1, 2, 3, 4, 5]
for i in array:
print(i)
Exemplo 3:
i = 0
while i < 10:
print("Ainda não")
i += 1
Imports
Para importarmos funções específicas de alguma biblioteca:
funcao1(parametros)
É possível importar tudo de uma biblioteca (funções, variáveis, etc.):
from biblioteca import *
Porém, isso é considerado uma má prática, já que você pode acabar sobrescrevendo funções ou variáveis que não deveria.
Para casos onde o nome da biblioteca é muito grande (como statistics, por exemplo), podemos dar um alias para ela:
import biblioteca as bib
Print()
Para imprimir algo no terminal: print(“Texto”)
Para imprimir múltiplos itens, como um texto fixo, o valor de uma variável e o resultado de uma operação, basta separá-los com vírgula dentro do parênteses.
Exemplo:
operacao = “2 + 3”
print(“Resultado da operacao ”, operacao, “ é “, 2 + 3)
# irá imprimir ‘Resultado da operacao 2 + 3 é 5’
Para exibirmos certos caracteres, como uma aspa dupla (“), precisamos usar o operador de escape \ dentro das aspas que definem o texto a ser exibido.
Exemplo:
print(“Mostrar aspas: \”. Pronto”) # irá exibir ‘Mostrar aspas: ”. Pronto’
O mesmo vale para outros caracteres, como a própria barra invertida (\):
print(“O caminho do arquivo é C:\\caminho\\do\\arquivo”)
# irá mostrar ‘O caminho do arquivo é C:\caminho\do\arquivo’
Principais códigos de escape:
Por padrão, o método print() adiciona um carácter de quebra de linha (\n) no final da string. Podemos sobrescrever esse comportamento passando como argumento end=”x”, onde x é o caractere a ser concatenado.
Exemplo:
letras = [‘a’, ‘b’, ‘c’]
for letra in letras:
print(letra, end=”, “) # imprime ‘a, b, c’
Podemos passar mais de um argumento para o print, que irá separá-los com um espaço em branco. Também podemos sobrescrever esse comportamento, passando o argumento sep=”x”, onde x é o novo valor de separador.
Exemplo:
print(1, 2, 3) #exibe ‘1 2 3’
print(1, 2, 3, sep=", ") # exibe ‘1, 2, 3’
Quando queremos criar strings que contém valores de variáveis, podemos usar a seguinte estrutura:
x = 10
print(f’Valor de x: {x}’) # Irá exibir ‘Valor de x: 10’
Podemos, inclusive, executar operações dentro desse comando.
Exemplo:
x = 2
y = 3
print(f’{x} + {y} = {x + y}’) #irá mostrar ‘2 + 3 = 5’’
Formatação
Para formatar um número decimal com apenas duas casas de precisão, basta adicionar ':.2f'
Exemplo:
x = 2.369854
print(f’x: {x:.2f}‘) # irá exibir ‘x: 2.37’
Para definir um “tamanho mínimo”, usamos >numero_de_casas.
Exemplo:
valor = 10
print(f’Valor:{valor:>3}’) # irá exibir ‘Valor: 10’
Decimal
Para trabalhar com valores monetários, onde a precisão das casas decimais é muito importante, o Python oferece uma biblioteca que contém a classe Decimal.
Exemplo:
from decimal import Decimal
total_money = Decimal(‘199.987854’)
Sorted
O python possui uma função built-in chamada sorted(lista) que retorna ordenada a lista passada como parâmetro.
Comentários
Comentários são úteis para explicar trechos de códigos relativamente complexos. Apesar de existir um bom debate sobre ser ou não uma boa prática escrever comentários no seu código, é sempre bom saber como fazer.
No Python, usa-se # para que o texto a partir daquele ponto na linha não seja considerado pelo programa.
Exemplo:
idade_cliente = 20 # essa variável representa a idade do cliente
Para comentar um conjunto de linhas, basta usar três aspas simples (‘’’) no início e no fim do bloco.
Exemplo:
‘’’
Esse bloco está comentado
até a linha abaixo
‘’’
idade_cliente = 20
Atribuição de valores às variáveis
A sintaxe para atribuição de valores é bem simples, basta usar a sintaxe variavel = valor.
Exemplo:
nome = ‘José Silva’
Podemos usar outras variáveis na atribuição:
variaval1 = variavel2 * 10
Podemos até mesmo usar a mesma variável:
variavel1 = variavel1 + 1
Para casos como o acima, onde o intuito é usar o valor da própria variável na fórmula, pode-se “encurtar” a instrução para variavel operador= restante da fórmula.
Exemplo:
variavel = 10
variavel += 1 # variavel = 11
variavel -= 2 # variavel = 9
variavel *= 3 # variavel = 27
variavel /= 9 # variavel = 3
Operadores
O Python permite os seguintes operadores:
Além das operações matemáticas padrões, pode-se importar a biblioteca math para outras (como para cálculo do seno, cosseno, etc.)
Exemplo:
from math import *
x = sin(0) + cos(0)
Input()
Podemos solicitar que o usuário insira um valor no terminal usando o comando input(), que pode conter um texto a ser exibido.
Exemplo:
idade_usuario = input(“Insira sua idade: “)
Conversão de tipos
Podemos usar funções para informar ao Python o tipo de determinado valor. Isso é uma forma de garantir que o valor está no tipo correto, pois irá lançar um erro caso não consiga fazer a conversão (por exemplo, caso tente converter uma variável com valor “José Silva” para int())
Exemplo:
idade = int(input(“Insira sua idade: “))
Type()
Python functions
Strings
Strings podem ser representadas por ‘, “, ‘’’ e “””.
Exemplo:
str1 = ‘String 1’
str2 = “String 2”
str3 = ‘’’String 3”
Enquanto aspas simples e duplas são as formas padrões de representar strings em diversas linguagens, Python oferece também as aspas triplas, que possuem algumas vantagens:
- Você não precisa se preocupar em fazer o escape de aspas simples ou duplas no meio da sua string
- Você pode quebrar a sua string em quantas linhas quiser sem precisar indicar
“José”!’’’
Keyword Arguments
def calcula_area_retangulo(area1 = 10, area2 = 20):
return area1 * area2
calcula_area_retangulo() # 200
calcula_area_retangulo(area1=20) # 400
calcula_area_retangulo(area2=10) # 100
calcula_area_retangulo(area1=5, area2=10) # 5
Arbitrary Argument List
Podemos definir que um método recebe n parâmetros e guarda em uma lista com a sintaxe def funcao(*parametro)
Exemplo:
def calcula_media(*valores):
return sum(valores)/len(valores)
calcula_media(1) # 1
calcula_media(1, 3) # 2
calcula_media(1, 3, 5) # 3
Podemos passar os valores de uma lista da seguinte forma:
lista = [1, 3, 5, 7]
calcula_media(*lista) # 4
Também podemos fazer isso com o print:
lista = [‘a’, ‘b’, ‘c’]
print(*lista, sep=”, “)
Funções x Métodos
No Python, funções são trechos de códigos que existem por si só, enquanto métodos são funções encapsuladas por uma classe.
Variáveis globais
Apesar do Python permitir acessar variáveis globais em funções, quando tentamos modificar uma variável global, o Python cria uma cópia local dela. Para conseguir modificar a variável global, é necessário inserir global nome_variável
Exemplo:
x = 10
def nao_altera_valor():
x = 3.5
def altera_valor():
global x
x = 12
print(x) # 10
nao_altera_valor()
print(x) # ainda 10
altera_valor()
print(x) # 12
Built-in function: is
Podemos verificar se duas variáveis apontam para o mesmo objeto na memória usando a built-in function "is".
Exemplo:
x = Decimal(‘7’)
y = x
z = Decimal(‘7’)
print(x is y) # True
print(x is z) # False
Comentários
Postar um comentário