Ebook - Treinamento Python I
Ebook - Treinamento 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
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.
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”.
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:
Treinamento Python I
É uma linguagem com uma enorme
comunidade de desenvolvedores,
principalmente graças à disponibilidade de
utilização nos principais sistemas
operacionais;
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:
Treinamento Python I
Desenvolvimento de Jogos: Entre as
bibliotecas mais utilizadas para
desenvolvimento de jogos está a “pygame”;
Treinamento Python I
Quais as desvantagens?
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).
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.
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.
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.
Treinamento Python I
idade = 34
peso = 64.7
comp = 1+5j
nome = “Dataplai”
Treinamento Python I
Método replace(): substitui caracteres na
String.
nome = “Dataplai”
nome.upper()
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:
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
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[0]
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}
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[’cidade’]
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.
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.
nome = “Dataplai”
print(nome)
Treinamento Python I
No exemplo anterior, ao executar o código, no
terminal irá exibir Dataplai.
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:
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 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.
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:
Treinamento Python I
Vamos verificar em um exemplo as três
estruturas condicionais:
elif(var_b == var_C):
print(“B é igual a C”)
else:
print(“B é menor que C”)
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).
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
A sintaxe para definir uma estrutura de repetição
com for é:
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.
Treinamento Python I
While
A sintaxe para definir uma estrutura de repetição
com while é:
while condicao:
bloco
contador = 0
while contador < 5:
print(contador)
contador = contador + 1
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.
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
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.
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.
nome(1, 2)
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.
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.
Treinamento Python I
classe. Veja que os atributos são os mesmos para
todos os objetos, mas o valores dos atributos
nã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.
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.
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.
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.
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
Treinamento Python I
Automatize tarefas maçantes
com python - Programação
prática para verdadeiros
iniciantes - AI Sweigart
Exercícios
Treinamento Python I