0% acharam este documento útil (0 voto)
63 visualizações

Ebook - Treinamento Python I

Direitos autorais
© © All Rights Reserved
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
63 visualizações

Ebook - Treinamento Python I

Direitos autorais
© © All Rights Reserved
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 49

PYTHON I

Introdução e Fundamentos
da Linguagem Python
CONTEÚDO
Introdução

Prefácio

Sintaxe e Estruturas

básicas

Funções

Classes e métodos

Módulos

Boas Práticas
PREFÁCIO

Este material foi desenvolvido para


utilização no treinamento em Python I,
desenvolvido pela Dataplai e aplicado ao
colaboradores da Bosch Curitiba no perído
de 18/03/2024 até 28/03/2024.

O objetivo do treinamento é apresentar os


principais conceitos relacionados a
linguagem Python, para instigar o
desenvolvimento de aplicações utilizando a
linguagem.

É válido destacar que esse material pode ser


utilizado como suporte para as informações
transmitidas no treinamento. Bom
treinamento!

Treinamento Python I
INTRODUÇÃO
Nesta seção são apresentados os aspectos gerais
associado à linguagem Python, trazendo tópicos a
respeito ao seu histórico, vantagens de utilização,
aplicações e ferramentas disponíveis para
desenvolvimento.

Histórico
A linguagem Python foi criada por Guido Von
Rossum, enquanto trabalhava no Centro de
Matemática e Ciência da Computação – CWI da
Holanda. No CWI, Rossum e seus colegas
trabalhavam no time de desenvolvimento da
linguagem ABC. Entretanto, com as limitações
dessa linguagem e consequentemente seu fim,
Rossum foi transferido para o grupo de
desenvolvimento do sistema operacional
AMOEBA.

No grupo AMOEBA, Rossum percebeu a


necessidade de uma linguagem de programação

Treinamento Python I
produtiva como C e capaz de interagir com
sistemas operacionais. Assim, Rossum começou o
desenvolvimento da linguagem Python como um
“projeto de hobby”.

O desenvolvimento da linguagem Python


começou no ano de 1989 recebendo fortes
influências da linguagem ABC, principalmente no
quesito de sintaxe da linguagem. Mas a primeira
versão do Python foi lançada após dois anos,
denominada como v0.9.0. Nessa versão a
linguagem já possuía algumas características das
versões atuais, como classes com herança, tipos
de dados nativos, funções, entre outros.

Desde sua primeira versão até a versão v2.0,


Rossum passou por algumas empresas onde a
linguagem sofreu algumas modificações e
apresentou diferentes licenças de
desenvolvimento. Porém, no ano de 2001 com a
criação da Python Software Foundation – PSF, a
versão v2.1 e as posteriores passaram a receber a
licença de código aberto ‘Python Software
Foundation License’.

Atualmente a linguagem Python encontra-se


disponível em duas versões 2.X e 3.X. Sendo a

Treinamento Python I
versão 2.X utilizada por um longo período como
padrão, mas atualmente com os módulos de
segurança descontinuados. Já a 3.X, que é
imcompatível com a versão 2.X, tem recebido
novas atualizações e encontra-se na 3.12 (data
15/03/2024).

HORA DA CURIOSIDADE
Embora muitas pessoas
associem o nome da
linguagem ao gênero de
serpentes da família
Pythonidae, essa não foi
a inteção do autor. O
nome Python foi
inspirado na série de
humor britânica
denominada “Monty
Python’s Flying Circus”.

Treinamento Python I
Por que utilizar Python?
Apesar de ser relativamente nova, quando
comparada a outras linguagens de programação,
a linguagem Python tem chamado atenção do
mercado devido a algumas vantagens, como:

É de código fonte aberto e gratuito,


permitindo que colaboradores e usuários
possam contribuir em atualizações;

Foi planejada para ser uma linguagem


produtiva, portátil e extensível, eliminando o
uso excessivo de delimitadores (ponto ou
ponto e vírgula), marcações (chaves,
colchetes e parênteses) e palavras reservadas
(begin/end);

É considerada uma linguagem simples, porém


poderosa, por ser uma linguagem de alto
nível. Tem sido utilizada por diversas
instituições de ensino visto que sua curva de
aprendizagem é menor do que outras
linguagens de alto nível;

Treinamento Python I
É uma linguagem com uma enorme
comunidade de desenvolvedores,
principalmente graças à disponibilidade de
utilização nos principais sistemas
operacionais;

Apresenta bibliotecas extensivas e para as


mais diversas aplicações, entre elas:
processamento de sinais, reconhecimento de
padrões, desenvolvimento web, entre outras.

Aplicações em Python
De acordo com TIOBE Software, a linguagem
Python encontra-se entre as mais utilizadas no
mundo (Agosto de 2024 – 1° lugar no ranking).
Essa classificação, com tendência de aumento nos
próximos anos, é consequência das inúmeras
aplicações da linguagem, entre elas:

Desenvolvimento Web: A linguagem possui


bibliotecas (Flask, Django, entre outras) que
permite integração com protocolos como
HTML, JSON, XML, entre outros;

Treinamento Python I
Desenvolvimento de Jogos: Entre as
bibliotecas mais utilizadas para
desenvolvimento de jogos está a “pygame”;

Desenvolvimento de Softwares: Python tem


sido utilizado como suporte aos
desenvolvedores que a utilizam para controle
e gerenciamento, testes, automação de
tarefas (RPA), entre outros;

Aplicações Científicas e Numéricas: Graça as


bibliotecas disponíveis, a linguagem Python já
vem substituindo softwares numéricos (como
Matlab e Scilab);

Aplicações na Ciência de Dados: Uma das


mais fortes linguagens na área de dados, para
análise, modelagem e integragação com
banco de dados.

Treinamento Python I
Quais as desvantagens?

Embora Python seja uma linguagem de


programação muito popular e versátil, como
qualquer tecnologia, também possui algumas
desvantagens e limitações, entre elas:

Desempenho Relativo: Embora Python seja


conhecido por sua facilidade de uso e
legibilidade, dependendo da aplicação ela
pode não ser tão rápido quanto linguagens
compiladas como C++ ou C. Isso ocorre
porque Python é uma linguagem interpretada
e dinamicamente tipada, o que pode resultar
em tempos de execução mais lentos para
certas operações, especialmente em
comparação com linguagens de baixo nível.

Versões Incompatíveis: A transição entre


diferentes versões do Python (por exemplo,
Python 2 para Python 3) pode ser desafiadora
para alguns projetos, especialmente se eles
dependem de bibliotecas ou pacotes que não
foram atualizados para a versão mais recente.

Treinamento Python I
Embora esses inconvenientes possam existir, é
importante notar que Python continua sendo
uma escolha popular para uma ampla gama de
aplicações devido à sua simplicidade, legibilidade
e vasta biblioteca de suporte. Muitas vezes, os
benefícios de produtividade e facilidade de uso
superam os inconvenientes mencionados.

IDEs Python
Uma maneira comum de utilizar Python é através
do interpretador padrão da linguagem. No
entanto, existem ambientes de programação que
incorporam esse interpretador e fornecem uma
interface mais amigável para os desenvolvedores.
Esses ambientes são conhecidos como IDEs
(Integrated Development Environments, em inglês).

Ao escolher uma IDE, é importante considerar


suas necessidades específicas de
desenvolvimento, preferências de interface do
usuário e integração com outras ferramentas e
tecnologias que você possa estar utilizando em
seu projeto.

Treinamento Python I
IDEs como PyCharm, Visual Studio Code com
extensões Python, Jupyter Notebook, Spyder e
IDLE são algumas das opções populares
disponíveis para desenvolver em Python. Cada
uma oferece recursos como realce de sintaxe,
depuração, sugestões de código, integração com
controle de versão e muito mais, tornando o
processo de desenvolvimento mais eficiente e
agradável para os programadores.

Ao escolher uma IDE, é importante considerar


suas necessidades específicas de
desenvolvimento, preferências de interface do
usuário e integração com outras ferramentas e
tecnologias que você possa estar utilizando em
seu projeto.

Treinamento Python I
SINTAXE E ESTRUTURAS
BÁSICAS
Nesta seção serão apresentados a sintaxe da
linguagem Python além das estruturas básicas de
uma linguagem de programação, bem como as
especificidades do Python.

Variável
Uma variável é um nome que se refere a um valor
armazenado na memória do computador. Ela
pode ser considerada como um 'contêiner' que
guarda diferentes tipos de dados. Ao atribuir um
valor a uma variável, você está efetivamente
reservando um espaço na memória para
armazenar esse valor, facilitando o acesso e
manipulação ao longo do programa.

Para criar uma nova variável em Python, utiliza-se


o comando de atribuição, da forma:

variável = expressão ou valor

Treinamento Python I
LEMBRETES
Na linguagem Python não é necessário especificar
o tipo do dado (string, inteiro, float, entre outros)
da variável na sua atribuição.

Na criação de uma nova variável os nomes das


variáveis não podem ter caracteres especiais, nem
espaço entre as palavras. Além disso, o Python é
case sensitive, por esse motivo X=10 é diferente
de x=10.

Em Python algumas palavras são reservadas para a


linguagem, como: False, True, class, def, continue,
if, elif, else, lambda, assert, global, entre outras.

Para inserir comentários em seu código Python,


basta iniciar a sentença com # ou com aspas
(simples ou duplas).

Para exemplificar a criação de variáveis, veja o


exemplo a seguir. Nele temos a variável idade
que é um número inteiro, a peso é um float, comp
é um número complexo, o nome é uma string e a
acesso é do tipo booleano.

Treinamento Python I
idade = 34
peso = 64.7
comp = 1+5j
nome = “Dataplai”

É válido ressaltar que toda variável em Python é


um objeto. Por esse motivo, podemos utilizar os
métodos associados a classe do tipo da variável.
Por exemplo, ao declararmos uma variável do tipo
String, igual a nome no nosso exemplo, temos um
objeto desse tipo de classe e assim podemos
utilizar todos os métodos pré-existentes dela.

Entre os métodos comuns da classe String, tem-


se:

Método upper(): para todas as letras


maiúsculas.

Método lower(): para todas as letras


minúsculas.

Método find(): encontra o índice do caracter


que se deseja encontrar na String

Treinamento Python I
Método replace(): substitui caracteres na
String.

Para utilizar os métodos basta ter uma variável,


da classe desejada já armazenada na aplicação.
Por exemplo:

nome = “Dataplai”
nome.upper()

Como resultado do método aplicado no exemplo,


teríamos como resultado a String “DATAPLAI”,
com todas as letras maiúsculas.

Dependendo do tipo da variável armazenada, a


linguagem fornece tipos especifícos para aquela
variável. Por exemplo, para uma variável do tipo
String faz sentido existirem métodos que tornem
todos os caracteres maiúsculos, mas esse método
não faz sentido para uma variável numérica do
tipo Inteiro. Então para variáveis do tipo Inteiro, a
linguagem Python fornece outros métodos, que
fazem sentido para esse tipo de dado.

Treinamento Python I
Variáveis de conjunto
Existem quatro tipos de coleções de dados em
Python: as listas (List), as tuplas (Tuple), os
conjuntos (Set) e os dicionários (Dictionary).
Esses tipos de variáveis são capazes de
armazenar um conjunto de dados em um espaço
de memória.

Lista
A lista é uma coleção ordenada possível de ser
modificada. Essa coleção permite membros
duplicados, de diferentes tipos e é definida entre
colchetes, como o exemplo:

idades = [10, 2, 45, 90, 33]


pesos = []

Ambas as variáveis no exemplo são do tipo lista.


A lista idades apresenta 5 elementos dentro dela,
nesse caso todos do tipo inteiros. Já a lista pesos
não possui elementos dentro dela (lista vazia).

Treinamento Python I
É possível acessar e modificar um elemento da
lista indicando o índice do elemento que se
deseja observar/modificar.

idades[0] = 30

Com o exemplo, estamos acessando a primeira


posição da nossa lista idades e alterando o seu
valor do elemento para 30.

A variável idades é do tipo lista e como


mencionado anteirormente, cada tipo de variável
em Python apresenta métodos relacionadas a ela.
No caso das listas o método mais comum é o
append(valor), que aciona valor ao final da lista.

LEMBRETES
Como em outras linguagens de programação,
como o C, a primeira posição de um vetor começa
em zero. Portanto, na nossa variável idades, de
cinco elementos, nosso indice máximo seria 4.

Treinamento Python I
Tupla
A tupla é uma coleção ordenada que não permite
modificações. A tupla é muito semelhante a uma
lista, porém a diferença é que ela não permite a
modificação dos seus elementos. Esse tipo de
coleção é definido com o uso dos parênteses.

quantidade = (25, 50, 400)

É possível acessar um elemento da tupla da


mesma forma que realizamos o acesso a um
elemento da lista:

quantidade[0]

O exemplo ao ser executado resultaria no valor


25. Entretanto, ao tentar atribuir um valor a essa
variável, teríamos um erro. O erro acontece pois a
principal característica das tuplas é sua
imutabilidade, o que significa que uma vez que
uma tupla é criada, seus elementos não podem
ser alterados, adicionados ou removidos.

Treinamento Python I
Set
O set é uma coleção não ordenada e não
indexada. Esse tipo de conjunto de dados não
permite elementos duplicados. No Python, esse
conjunto é escrito com chaves.

codigos = {1, 2, 3, 4}

Os conjuntos são mutáveis, o que significa que


você pode adicionar e remover elementos de um
conjunto após sua criação. Já os elementos
armazenados em um conjunto devem ser de tipos
de dados imutáveis, como inteiros, strings ou
tuplas. Isso ocorre porque os conjuntos usam o
hash dos elementos para garantir a unicidade e a
eficiência das operações.

Os conjuntos são frequentemente utilizados para


realizar operações de conjunto matemático, como
encontrar a união, interseção ou diferença entre
conjuntos, bem como para remover elementos
duplicados de outras estruturas de dados.

Treinamento Python I
Dicionário
O dicionário é uma coleção desordenada,
indexada e possível de ser modificada. Essa
coleção é um array associativo, isto é,
determinado valor está associado a uma chave
(imutável). Também é definido pelas chaves,
como a variável set, e pares chave-valor
separados por dois pontos.

aluno = {’nome’: ‘Clayton’,


‘idade’: 30,
‘cidade’: ‘Curitiba’}

No nosso exemplo da variável dicionário, temos


três chaves: nome, idade, cidade. Portanto, para
acessar um elemento no dicionário, precisamos
utilizar a chave que desejamos:

aluno[’cidade’]

Como resultado, no terminal, a String ‘Curitiba’


deve aparecer.

Treinamento Python I
As chaves em um dicionário devem ser únicas. Se
uma chave já existir, o valor correspondente será
substituído pelo novo valor atribuído à mesma
chave. Já os valores para cada chave podem ser
de qualquer tipo de dado válido em Python,
incluindo inteiros, strings, listas, tuplas, conjuntos,
dicionários e até mesmo objetos personalizados.

O Python fornece uma variedade de métodos


integrados para trabalhar com dicionários, como
keys() para obter uma lista de chaves, values()
para obter uma lista de valores, items() para obter
uma lista de tuplas chave-valor, get() para acessar
um valor com uma chave fornecida e muito mais.

LEMBRETES
Todas as palavras sublinhadas neste material são
hiperlinks que direcionam para as páginas de
documentações ou referências utilizadas.

Treinamento Python I
Instruções
Instruções são funções nativas da linguagem e
são unidades de código em Python que
representam um comando ou ação. Até aqui
vimos a instrução de atribuição (=), que armazena
um valor em um espaço de memória com o nome
que escolhemos.

Existem algumas instruções de ações embutidas


em Python que podem ser inicialmente muito
úteis a um desenvolvedor, como as instruções
print() e type(). O comando print(parâmetro) é
utilizado para exibir no console uma variável
parâmetro (podendo ela ser um valor direto ou
resultante de uma operação). Já o comando
type(variável) é utilizado para retornar a que tipo
aquela variável pertence.

Um exemplo com a instrução print:

nome = “Dataplai”
print(nome)

Treinamento Python I
No exemplo anterior, ao executar o código, no
terminal irá exibir Dataplai.

Outras instruções frequentemente utilizadas:

len(argumento): retorna a quantidade de


elementos ou caracteres do argumento;

max(argumento): retorna o máximo valor do


argumento;

min(argumento): retorna o menor valor do


argumento;

round(número, precisão): arredonda o


número com a precisão determinada;

range(inicio, fim, intervalo): retorna uma série


numérica com os parâmetros determinados;

input(): lê uma entrada do usuário.

Todas as instruções disponibilizadas pela


linguagem Python, encontram-se descritas na
documentação.

Treinamento Python I
Operadores
Os operadores em Python são elementos
essenciais que permitem realizar operações
matemáticas, lógicas e de comparação em
programas. Divididos entre essas categorias,
esses operadores são fundamentais para:

Manipulação de Dados: Os operadores são


essenciais para manipular dados em
programas. Eles nos permitem realizar
cálculos matemáticos, avaliar expressões
lógicas e comparar valores, o que é crucial
para realizar operações significativas em
programas Python.

Controle de Fluxo: Os operadores são


amplamente utilizados em estruturas de
controle de fluxo, como condicionais (if-else)
e loops (for, while). Compreender como os
operadores funcionam é crucial para escrever
condições e loops corretamente e controlar o
fluxo de execução do programa de forma
eficaz.

Treinamento Python I
Aritméticos
São os símbolos especiais, utilizados na
linguagem Python, para representar os cálculos
aritméticos (geralmente resultando em variáveis
de tipos semelhantes aos utilizados na operação).

Símbolo Operação

A+B Adição

A-B Subtração

A*B Multiplicação

A/B Divisão

A//B Divisão Inteira

A%B Módulo

A**B Exponenciação

Treinamento Python I
Relacionais
São operadores utilizados para obter a relação
entre a variável da esquerda com a variável da
direita. Nessas operações o resultado é uma
variável booleana (True / False)

Símbolo Operação

A == B Igualdade

A != B Diferença

A>B Comparação

A<B Comparação

A >= B Comparação

A <= B Comparação

A in [A,B,C] Sequência

Treinamento Python I
Lógicos
Unem expressões lógicas formando assim uma
nova expressão que é composta por 2 ou mais
sub-expressões. Nessas operações o resultado é
uma variável booleana (True / False)

Símbolo Operação

Retorna verdadeiro se
e somente se as duas
and
condições forem
verdadeiras.

Retorna verdadeiro se
pelo menos uma das
or
condições
verdadeiras.

not Inverte o resultado.

Treinamento Python I
Estruturas condicionais
As estruturas condicionais em Python são usadas
para controlar o fluxo de execução do programa
com base em condições específicas. Isso permite
que diferentes blocos de código sejam
executados dependendo se uma condição é
verdadeira ou falsa. As estruturas condicionais
são:

if: A estrutura if é usada para executar um


bloco de código se uma condição for
verdadeira.

elif: Se a condição não foi satisfeita na


estrutura if, mas desejamos testar outras
condições alternativas com a mesma variável,
podemos utilizar a estrutura elif.

else: Se nenhuma das condições anteriores


foram verdadeiras (nem na estrutura if, nem
na elif) um bloco de código pode ser
executado pela estrutura else.

Treinamento Python I
Vamos verificar em um exemplo as três
estruturas condicionais:

if(var_b > var_c):


print(“B é maior que C”)

elif(var_b == var_C):
print(“B é igual a C”)

else:
print(“B é menor que C”)

Nesse exemplo a frase “B é maior que C” será


exibida somente se a var_b for maior que a var_c.
No exemplo, somente uma instrução é utilizada
nesse bloco (um print), mas poderiam ser
utilizadas mais instruções.

Na sequência vemos o bloco elif, que é uma


estrutura opcional, pois acrescentamos ela
somente se queremos testar mais condições
sobre nossas variáveis. Nesse caso a frase “B é
igual a C” será exibida caso a condição no if
resulte em False e a condição no elif em True.

Treinamento Python I
Por fim, a estrutura else, que também é uma
estrutura opcional, só executa as instruções
definidas no seu bloco, caso as condições
anteriores não sejam atendidas (resultem em
False).

A estrutura if é a única que não depende das


outras estruturas para ser criada. Isto é, podemos
definir essa estrutura para executar uma ou mais
instruções, mesmo que as demais estruturas (elif e
else) não forem criadas. Porém o mesmo não é
válido para as estruturas elif e else, visto que elas
só são válidas se a condição estabelecida na
estrutura anterior não seja atendida.

As estruturas condicionais são fundamentais para


controlar o fluxo de execução do programa com
base em condições específicas, permitindo que o
código seja executado de maneira condicional e
dinâmica.

Treinamento Python I
Estruturas de repetição
As estruturas de repetição são usadas para
executar um bloco de código repetidamente
enquanto uma condição específica for verdadeira,
ou para iterar sobre uma sequência de elementos.
Temos as seguintes estruturas de repetição:

for: executa um conjunto de instruções dada


uma condição pré-estabelecida. Essa
condição pode ser definida por itens de uma
lista, tupla, conjunto, entre outros.

while: executa um conjunto de instruções


enquanto uma condição permanecer
verdadeira.

For
A sintaxe para definir uma estrutura de repetição
com for é:

for elemento in sequencia:


bloco

Treinamento Python I
Nessa estrutura as instruções que são colocadas
no lugar do bloco serão executadas
repetidamente de acordo com a quantidade de
elementos existentes na variável sequencia.
Então, se sequência tiver quatro elementos, as
instruções serão repetidas quatro vezes.

Além disso, na estrutura for, a cada interação, a


variável elemento (ou qualquer nome escolhido
pelo desenvolvedor) apresenta o valor do
elemento na ordem da interação da variável
sequencia. Por exemplo:

for fruta in [’maçã’, ‘lima’] :


print(fruta)

Ao executarmos esse código, no terminal vamos


observar as palavras maçã, e logo abaixo a
palavra lima. Isso porquê na primeira interação, o
primeiro elemento do conjunto era maçã e
portanto nossa variável fruta também era maçã.
Na segunda ineração, o segundo elemento do
conjunto é a String lima, por isso, a segunda
palavra exibida no terminal é lima, dado que a
variável fruta obteve esse valor na segunda
interação.

Treinamento Python I
While
A sintaxe para definir uma estrutura de repetição
com while é:

while condicao:
bloco

Nessa estrutura o bloco de instruções só é


executado se a condição testada, representada
pela variável condicao no exemplo, for
verdadeira. Por exemplo:

contador = 0
while contador < 5:
print(contador)
contador = contador + 1

Ao executarmos esse código, como resultado no


terminal vamos ver a sequência 0,1,2,3,4. Isso
ocorre pois a estrutura é executada cinco vezes,
dado que a condição contador < 5 (contador é
menor que 5) se manteve verdadeira durante
essas vezes.

Treinamento Python I
Note que na estrutura while precisamos
manipular a variável contador dentro do bloco da
estrutura, pois caso contrário temos o que
chamamos de loop infinito.

Além disso, em algumas situações, utilizando essa


estrutura não temos como saber previamente
quantas vezes ela será executada, diferente da
estrutura for que executa de acordo com a
quantidade de elementos. Um exemplo da
situação que não sabemos quantas vezes será
executada é por exemplo o teste de condição se
um banco de dados não foi conectado, em que
dentro da estrutura while se encontra as
instruções de conexão desse banco.

LEMBRETES
Podemos utilizar algumas palavras reservadas
para interromper (break) ou pular (continue) a
execução do loop nas estruturas de repetição.

Treinamento Python I
Identação
Uma característica particular da linguagem
Python é que ela não utiliza delimitadores de
bloco. Nessa linguagem os blocos são delimitados
por indentações, como espaços e tabulações.
Além disso um bloco (escopo) é inicializado
utilizando dois pontos (:) e entre os comandos
que permitem sua criação estão: if/elif/else,
for/else, while/else, def, class, entre outros.

bloco 1
bloco 1

if (condição):
bloco 2
bloco 2

A identação em Python é mais do que apenas


uma questão de estilo de código; é uma
convenção da comunidade Python. A maioria dos
programadores Python segue as diretrizes de
identação do PEP 8, que recomenda o uso de
quatro espaços para cada nível de identação.

Treinamento Python I
Funções
Uma função em Python é um bloco de código
reutilizável que executa uma tarefa específica. A
ideia mais primitiva de função é o agrupamento
de instruções que proporciona um meio simples
de execução sequencial, possível de ser invocado
em qualquer parte da aplicação.

A sintaxe de uma função é definida por três


partes: nome, parâmetros e corpo, o qual agrupa
uma sequência de linhas que representa algum
comportamento.

def nome(arg_1, arg_2):


resultado = arg_1 + arg_2
return resultado

Como o caso do retorno, as funções podem ou


não ter argumentos. Os parâmetros permitem
que se passe informações para dentro da função,
para que ela possa realizar operações com esses
valores.

Treinamento Python I
Já o retorno, também opcional, de uma função é
o valor que ela produz ou calcula após realizar
suas operações. O valor de retorno é especificado
pela palavra-chave return dentro da função.
Quando a execução da função atinge uma
declaração return, ela interrompe imediatamente
e retorna o valor especificado.

Para chamar uma função em Python, após ela


definida, simplesmente usamos o nome da função
passando os parâmetros (se existentes) para ela,

nome(1, 2)

Nesse exemplo, ao utilizar a minha função, que


anteriormente foi denominada como nome, os
argumentos arg_1 e arg_2 agora valem 1 e 2
respectivamente. Além disso, o valor de retorno é
igual a 3, sendo a soma dos dois valores.

Vale destacar que variáveis definidas dentro de


uma função têm escopo local, o que significa que
elas só podem ser acessadas dentro da função.
Variáveis definidas fora de uma função têm
escopo global e podem ser acessadas em todo o
programa.

Treinamento Python I
Funções Nativas
Em Python existem algumas funções que são
nativas da linguagem, por esse motivo o usuário
não precisa definir as instruções no corpo da
função somente chamá-la durante a execução do
programa.

Alguns exemplos de funções nativas são:

round(numero, casad): arredonda um número


a partir das casas decimais determinadas;

abs(elemento): retorna o valor absoluto do


elemento;

sum(lista): soma todos os valores de uma lista;

enumerate(lista, start): enumera uma lista


dado um valor de início;

filter(function, lista): filtra uma lista por meio


de uma função passada como argumento para
função;

Treinamento Python I
Classes e Métodos
Em Python, a Programação Orientada a Objetos -
POO é implementada usando classes e objetos.
Uma classe é uma estrutura que define atributos
e métodos comuns a um conjunto de objetos
relacionados. Um objeto é uma instância
específica de uma classe, ou seja, um elemento
que apresenta as características e os métodos
definidos na classe.

Por exemplo, podemos ter uma classe


denominada Cachorro, em que dentro dela
colocamos os atributos e os métodos que
descrevem essa classe. Os atributos armazenam
informações sobre as características, no caso da
classe cachorro pode ser raça, tamanho, peso,
nome, entre outros.

Já os métodos são funções definidas dentro de


uma classe que se referem a ações que objetos da
classe tem ou fazem. No caso da classe Cachorro,
todos os cachorros podem latir, correr, nascer,
morrer, entre outros.

Assim, todo objeto criado com a classe Cachorro,


vai apresentar as características e métodos dessa

Treinamento Python I
classe. Veja que os atributos são os mesmos para
todos os objetos, mas o valores dos atributos
não.

A POO é uma abordagem fundamental para


organizar e estruturar o código. Ela se baseia em
quatro pilares principais: encapsulamento,
herança, polimorfismo e abstração.

Encapsulamento
O encapsulamento permite ocultar detalhes de
implementação e expor uma interface controlada
para interagir com os objetos. Em Python, isso é
frequentemente alcançado por meio de métodos
e atributos privados e públicos.

Herança
A herança permite que uma classe herde
atributos e métodos de outra classe. Em Python,
você pode fazer isso simplesmente passando a
classe pai entre parênteses ao definir a nova
classe.

Treinamento Python I
Polimorfismo
O polimorfismo permite que objetos de
diferentes classes sejam tratados de forma
uniforme. Em Python, isso é alcançado pela
implementação de métodos com o mesmo nome
em classes diferentes.

Abstração
A abstração permite que você se concentre nos
aspectos essenciais do objeto e ignore os
detalhes menos importantes. Quando você define
uma classe com atributos e métodos, se outra
pessoa for utilizar a classe, ela não precisa saber
como cada método está funcionando
internamente, isso é abstração. É o que ocorre
quando utilizamos um método por exemplo de
uma variável String.

Treinamento Python I
Módulos
Em Python, um módulo é um arquivo contendo
definições de variáveis, funções e classes que
podem ser importadas e reutilizadas em outros
programas. Esses módulos são essenciais para
organizar e modularizar o código, permitindo aos
desenvolvedores dividir programas em partes
menores e mais gerenciáveis.

Um dos principais benefícios dos módulos em


Python é a reutilização de código. Ao importar
um módulo em um programa, os desenvolvedores
podem aproveitar as funcionalidades existentes
sem precisar reimplementá-las. Isso economiza
tempo e esforço, além de promover a
consistência e a padronização do código

Além disso, os módulos em Python também


facilitam a colaboração entre diferentes
desenvolvedores. Ao dividir um programa em
módulos distintos, cada desenvolvedor pode
trabalhar em uma parte específica do código sem
interferir no trabalho dos outros.

Treinamento Python I
Boas práticas
Python é uma linguagem versátil e poderosa que
permite aos desenvolvedores escrever código de
forma clara, legível e eficiente. No entanto, para
tirar o máximo proveito da linguagem e manter
um código sustentável e de alta qualidade, é
importante seguir algumas boas práticas.

Criação de documentação: Documentar seu


código é essencial para torná-lo
compreensível para outros desenvolvedores e
para o seu futuro eu. Use docstrings para
documentar classes, funções e métodos. Siga
as convenções de documentação do Python
(PEP 8) para garantir consistência e clareza na
documentação do seu código.

Modularização: Divida seu código em


módulos separados para facilitar a
organização e a manutenção. Cada módulo
deve representar uma unidade lógica de
funcionalidade. Importe apenas os módulos e
símbolos necessários para evitar poluir o
espaço de nomes e melhorar a legibilidade.

Treinamento Python I
Tratamento de Erros Adequado: Utilize
estruturas de tratamento de erros, como try,
except e finally, para lidar com exceções de
forma adequada. Capture e trate exceções
específicas sempre que possível, e evite
capturar exceções genéricas. Mantenha
mensagens de erro claras e informativas para
facilitar a depuração.

Versionamento: Utilize um sistema de


controle de versão, como Git, para rastrear e
gerenciar as alterações no código-fonte do
seu projeto. Isso permite acompanhar quem
fez quais alterações, quando foram feitas e
por quê.

Seguir convenções de estilo (PEP 8): Isso


inclui padrões para formatação de código,
nomeação de variáveis, uso de espaços em
branco e outros aspectos de estilo de código.
Manter um estilo de código consistente torna
o código mais legível e fácil de entender para
outros desenvolvedores.

Testes automatizados: Escreva testes


automatizados para verificar o
comportamento esperado do seu código. Use

Treinamento Python I
bibliotecas de teste como unittest ou pytest
para escrever e executar testes de forma
eficaz. Testes automatizados ajudam a
garantir a integridade do seu código e
facilitam a detecção de regressões ou
problemas de compatibilidade.

Seguir boas práticas em Python não apenas


melhora a qualidade do seu código, mas também
promove uma colaboração eficaz, facilita a
manutenção do código e ajuda a evitar
problemas comuns durante o desenvolvimento
de software. Ao adotar essas práticas, você estará
no caminho certo para escrever código Python
limpo, eficiente e sustentável.

Treinamento Python I
Para saber mais sobre
Python

Introdução à programação
com Python: algoritmos e
lógica de programação para
iniciantes – Nilo Ney

Pense em Python: Pense


Como um Cientista da
Computação – Allen Downey

Use a Cabeça! Python – Paul


Barry

Treinamento Python I
Automatize tarefas maçantes
com python - Programação
prática para verdadeiros
iniciantes - AI Sweigart

Exercícios

Python Basic Exercise for Beginners.

Learn Python with JetBrains Academy.

Lista de exercícios - Python Brasil

Treinamento Python I

Você também pode gostar