Python Apostila Completa Básica
Python Apostila Completa Básica
Python Apostila Completa Básica
1. Introdução .......................................................................................... 5
1.1. Sintaxe ........................................................................................ 5
1.2. Indentação .................................................................................. 5
1.3. Comentários ............................................................................... 6
1.4. Operações ................................................................................... 6
2. Tipos básicos de variáveis ................................................................... 7
2.1. Int ............................................................................................... 7
2.2. Float ............................................................................................ 7
2.3. Bool............................................................................................. 8
2.3.1. Operações com booleanos.................................................... 8
2.4. String .......................................................................................... 9
2.4.1. Índices ................................................................................ 10
2.4.2. Operações com strings........................................................ 10
2.4.3. Métodos ............................................................................. 10
2.5. Como imprimir variáveis dentro de uma string ......................... 11
3. Entrada e saída de dados.................................................................. 11
4. Listas e Dicionários ........................................................................... 12
4.1. Lista .......................................................................................... 12
4.1.1. Como chamar os elementos da lista por seus índices ......... 13
4.1.2. Operações com listas .......................................................... 13
4.1.3. Métodos ............................................................................. 13
4.2. Dicionário.................................................................................. 15
4.2.1. Acessando e criando chaves e conteúdos ........................... 15
4.2.2. Métodos ............................................................................. 16
5. Controle de Fluxo ............................................................................. 17
5.1. If, Elif e Else ............................................................................... 17
2
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
5.1.1. Diferença entre elif e o else ................................................ 18
6. Controle de Repetição ...................................................................... 19
6.1. For ............................................................................................ 19
6.1.1. For ... Else ........................................................................... 20
6.2. While ........................................................................................ 21
6.2.1. While ... Else ....................................................................... 22
7. Funções ............................................................................................ 22
7.1. Sintaxe ...................................................................................... 22
7.2. Funções já definidas no Python................................................. 23
8. Classes .............................................................................................. 23
8.1. Sintaxe ...................................................................................... 24
8.2. Objetos ..................................................................................... 24
8.3. Construtor................................................................................. 25
8.4. Atributo .................................................................................... 25
8.5. Métodos ................................................................................... 26
8.6. Herança .................................................................................... 27
8.7. Sobreposição de Métodos ........................................................ 28
9. Arquivos ........................................................................................... 29
9.1. Open/Close ............................................................................... 29
9.2. Modos....................................................................................... 29
9.3. Modificadores de modos .......................................................... 30
9.4. Funções aplicadas a arquivos .................................................... 30
9.5. With, as ..................................................................................... 30
10. Comandos úteis do Python ............................................................. 31
10.1. Try / Except ............................................................................... 31
10.2. Print com o uso da “,” ............................................................... 31
10.3. Compreensão de listas .............................................................. 32
10.4. Passo e fatiamento de listas ...................................................... 32
10.5. Funções Lambda ....................................................................... 33
3
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
11. Bibliotecas....................................................................................... 34
11.1. Math ......................................................................................... 34
11.2. Random .................................................................................... 36
11.3. Datetime ................................................................................... 37
11.4. Numpy ...................................................................................... 38
11.4.1. Acessando elementos ...................................................... 40
11.4.2. Operações entre arrays ................................................... 41
4
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
1. Introdução
O Python é uma linguagem de programação interpretada,
orientada a objetos. Ela se tornou extremamente popular devido a sua
sintaxe simples e sua fácil leitura, além de sua excelente portabilidade.
Por ser popular, o Python já conta com inúmeros frameworks e bibliotecas
muito úteis, tornando-o uma linguagem muito poderosa.
1.1. Sintaxe
As variáveis no Python, diferente de outras linguagens de
programação, não precisam ter seu tipo declarado. Ou seja, não é
necessário informar previamente ao programa se a variável recebe um
valor inteiro, real, lógico, etc, basta inicializar a variável direto com o valor.
1.2. Indentação
Quando escrevemos um programa em Python, devemos
obrigatoriamente indentá-lo corretamente. Enquanto que em outras
linguagens procuramos indentar o código para deixá-lo mais legível, no
Python somos forçados a fazê-la, uma vez que o programa não funcionará
sem a indentação.
5
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
1.3. Comentários
Comentários são trechos de código que não serão interpretados.
Eles servem para comentar o que cada trecho de código faz, para que
outros possam entender. Em Python, os comentários são feitos da
seguinte forma:
‘#’ : Para comentários em linha única
‘ “”” (texto) “”” ‘ : Para blocos de texto.
1.4. Operações
Operações aritméticas simples podem ser feitas no Python de forma
natural, usando os sinais que estamos acostumados (+, -, /, *). Além disso,
tem-se o ‘%’ e o ‘**’ que representam o resto da divisão e potenciação,
respectivamente. A prioridade de operações é a natural da matemática.
Porém, quanto mais parênteses forem utilizados é melhor para que não
sejam cometidos erros.
6
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
2. Tipos básicos de variáveis
Dentre os vários tipos de variáveis que existem no Python, existem
4 principais tipos que ajudam a formar todas as outras. São eles: int, float,
bool e string.
2.1. Int
Int são as variáveis que guardam valores inteiros. Com as próprias
variáveis podem ser feitas as operações aritméticas simples já citadas,
porém, se todas as variáveis forem do tipo int, a resposta será também
um tipo int.
2.2. Float
As variáveis do tipo float guardam valores com casas decimais, ao
contrário do tipo int. Porém, as mesmas contas podem ser feitas inclusive
entre os dois tipos. A prioridade de resposta é sempre do tipo float.
Lembrando que no lugar de “,” deve – se usar “.”.
7
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
2.3. Bool
São tipos de variáveis que guardam valores lógicos como verdadeiro
e falso (no Python, “True” e “False”).
8
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
2.4. String
String é um tipo de variável que lida com uma sequência de
caracteres, sejam números ou letras. Para definir uma string basta
associar uma variável a qualquer sequência de caracteres entre aspas
duplas (“), ou simples (‘).
9
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
2.4.1. Índices
2.4.3. Métodos
10
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
2.5. Como imprimir variáveis dentro de uma string
No Python há uma excelente ferramenta de formatação quando se
utiliza o print para mostrar alguma informação na tela com variáveis que é
o uso dos seguintes caracteres: %s, %d, %f. Esses caracteres representam,
respectivamente, uma string, um inteiro e um float.
11
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
Para imprimir os dados é utilizado o comando print, conforme
demonstrado a seguir:
>>> a = 12
>>> print a
>>> 12
>>> print “Minicurso de Python”
>>> Minicurso de Python
4. Listas e Dicionários
4.1. Lista
É um conjunto de valores ordenados, onde cada elemento é
identificado por um índice, sendo que na linguagem Python o primeiro
elemento é identificado pelo índice 0, o segundo pelo índice 1 e assim
sucessivamente. Os elementos podem ser do tipo int, float ou até mesmo
string.
Dentre as diversas formas de se criar uma lista, a mais simples delas
é envolver seus elementos pelo uso de colchetes.
As mesmas operações com strings podem ser feitas com lista. Então
pode-se somar listas ou até mesmo multiplicá-las por um inteiro.
4.1.3. Métodos
13
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
.INDEX(): Exibe o índice da primeira ocorrência de determinado
elemento.
14
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
POP: Remove e retorna o último valor da lista. Também pode-se
atribuir um índice para remoção, sendo retornado este valor removido.
4.2. Dicionário
Dicionários são estruturas de dados formados por pares de valores
onde o primeiro valor é chamado de chave e o segundo de conteúdo. De
certo modo eles são parecidos com listas, onde cada índice da lista pode
ser representado agora por strings, além de inteiros e floats. Uma das
maneiras mais fáceis de introduzir o dicionário é colocando seus
elementos entre chaves da seguinte forma: ,“chave”: “conteúdo”-
5. Controle de Fluxo
Em toda linguagem de programação estão presentes os
controladores de fluxo, utilizados para que o programa execute
determinadas instruções a partir de uma condição.
== - IGUAL
!= - DIFERENTE
< - MENOR QUE
> - MAIOR QUE
17
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
<= - MENOR OU IGUAL
>= - MAIOR OU IGUAL
OBS: Após os usos dos comandos if, elif e else é necessário o uso de
dois pontos (:), e todo o código a ser seguido deve estar devidamente
indentado.
18
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
6. Controle de Repetição
Os comandos de repetição são aplicados quando se deseja que o
código seja realizado determinada quantidade de vezes ao longo do
programa, originando um laço ou loop.
6.1. For
O comando for no Python é um pouco diferente de outras
linguagens. No Python ele percorre elementos de um variável. Por
exemplo, poderia percorrer os elementos de uma lista, as letras de uma
string e etc.
Para usar o comando for será criado uma variável auxiliar, com um
nome qualquer, de tal forma que a cada interação ela irá ser igualada a
um elemento daquele objeto na ordem.
19
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
Se esse comando for integrado ao for acontecerá o seguinte:
20
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
6.2. While
O while é uma estrutura de repetição que executa um código
sempre que determinada condição for verdadeira. A partir do momento
que essa condição se tornar falsa, o programa prosseguirá sem acessar as
informações do while novamente.
21
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
6.2.1. While ... Else
7. Funções
Em geral, quando fazemos um programa queremos utilizá-lo para
realizar algumas ações muitas vezes fazendo com que o código fique longo
e de difícil compreensão. Uma forma de tornar o código mais simples e
organizado é substituindo ações repetidas por funções.
7.1. Sintaxe
No Python para definir funções basta usar o comando def
nome_da_função(parâmetro1, parâmetro2, ...):
22
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
Quando definimos uma função no Python precisamos definir
também um ou mais parâmetros, que são as variáveis utilizadas pela
função. Funções que têm a necessidade de retornar um número ou uma
string utilizam o comando return.
Para chamar uma função já definida no seu programa basta
escrever o nome dela e entre parênteses indicar qual variável que a
função tomará como parâmentro. Se sua função exigir mais de um
parâmentro é importante a ordem dele quando for chamar a função.
8. Classes
Classe é a estrutura básica do paradigma de orientação a objetos, é
um tipo criado pelo usuário e representa conjuntos de objetos, abstrações
23
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
computacionais que atuam como entidades com características (atributos)
e ações (métodos) semelhantes.
O uso das classes é destinado para resolver a questão de criação de
objetos, ou seja, ao invés de criar objetos isolados, com definição de
atributos e métodos para cada um, são aplicadas as classes para definir os
atributos e métodos comuns a todos os objetos.
8.1. Sintaxe
A classe é criada em Python por meio da palavra reservada class. A
sintaxe é a seguinte:
>>>class Nome_da_classe:
>>> <comandos>
8.2. Objetos
De modo geral as instâncias são usadas para a execução de um
programa e não as classes. Instâncias podem ser vistas como indivíduos
de uma classe, possuindo seus atributos. A sintaxe utilizada para produzir
instância é a seguinte:
>>>Nome_da_classe(parâmetros)
>>>variável = Nome_da_classe(parâmetros)
24
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
8.3. Construtor
Quando um objeto é criado, o construtor de classe é executado. Em
Python, o construtor é um método especial chamado __new__(), após
esta chamada, o método __init__() é chamado para inicializar uma nova
instância. Quando um objeto é apagado o método __done__() é chamado.
>>>class Nome_da_classe:
>>> def __init__(self, argumentos):
>>> self.argumentos=argumentos
8.4. Atributo
Os atributos são comuns a todas as instâncias da classe e
representam suas características.
>>>class Nome_da_classe:
>>> atributo=quantidade_ou_qualidade_do_atributo
>>>nome_do_objeto.nome_do_atributo
25
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
8.5. Métodos
Métodos são funções definidas dentro das classes, usados para
definir ações a serem executadas por uma instância desta classe. Para
criar um método é necessário utilizar a sintaxe:
>>>def nome_do_método():
>>> <comandos>
26
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
Em Python, para tornar atributos e métodos privados basta iniciá-
los por no máximo dois sublinhados e terminar com um sublinhado, as
outras formas são públicas.
8.6. Herança
A herança é aplicada para aproveitar uma parte do código. As
classes em Python podem herdar atributos, métodos, etc, de outras
classes. Sem a utilização de herança cada um dos atributos, médotos,etc,
teria que ser definido classe a classe. A sintaxe fica assim:
>>>class Nome_da_classe_pai:
>>> <atributos 1>
>>>class Nome_da_classe_filha(Nome_da_classe_pai):
>>> <atributos 2>
Neste caso a classe filha possuirá os atributos 1 e 2, os atributos 1
pois herdou da classe pai.
27
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
8.7. Sobreposição de Métodos
Sobreposição de métodos consiste em definir uma função na classe
pai e definir outra função com o mesmo nome na classe filha, mas que
possuem diferentes funcionalidades.
28
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
9. Arquivos
Os arquivos em Python são representados pelos objetos do tipo file,
que fornacem algumas formas de acesso ao arquivo, como leitura e
escrita.
9.1. Open/Close
A manipulação de arquivos é realizada através do comando open(),
onde são definidos o nome do arquivo e seu estado, se será criado ou lido.
Quando o arquivo é criado, as informações nele inseridas são
armazenadas no buffer e para que possam ser executadas é preciso dar o
comando close().
>>>variável=open(“nome_do_arquivo.extensão”,”modo_do_arquivo”)
>>> <comandos>
>>> variável.close()
9.2. Modos
Os modos de manipulação no Python são os seguintes:
Write (w): Escreve no arquivo, caso o arquivo não exista, ele é
criado no momento. O modo write sobrescreve o que o arquivo
contém, apagando as informações anteriormente escritas.
Append (a): Para que o conteúdo não seja apagado, utiliza-se o
modo append, que insere novas informações no arquivo sem
apagar o que nele estava anteriormente. O texto adicionado será
inserido ao fim do arquivo. No caso do arquivo não existir, ele será
criado.
Read(r): O read é usado para ler o conteúdo do arquivo existente.
29
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
9.3. Modificadores de modos
Os modificadores de modos são usados juntamente com os modos
descritos anteriormente, possibilitando ampliar as funcionalidades da
manipulação de arquivos. Os modificadores de modos são os seguintes:
+: Permite tanto leitura quanto escrita. Por exemplo: quando usado
da seguinte forma “r+”, possibilita ler e escrever no arquivo.
b: Manipula o arquivo em binário e não em texto como é
usualmente feito. Por exemplo: “rb”.
9.5. With, as
Em Python é possível fazer com que o arquivo criado seja
automaticamente fechado logo após os comandos sem o uso do método
.close(). Para isso, utiliza-se para abrir o arquivo o comando with... as...
30
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
10. Comandos úteis do Python
10.1. Try / Except
Quando um código foi escrito sem erros, ele funcionará
corretamente, porém quando isso não ocorre, é adequado o uso de uma
mensagem de exceção. Esta tarefa de inserir uma mensagem de exceção
é dedicada ao programador através de try/except. Essa operação é
importante pois quando ocorre uma falha é gerada uma exceção, e se esta
exceção não for tratada o programa para de ser executado.
>>>try:
>>> <comandos>
>>>except:
>>> <comandos>
31
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
10.3. Compreensão de listas
Supondo que se queira construir uma lista com 20 elementos. Para
isso pode ser usado o comando range(20). Porém, pode-se desejar uma
determinada lista com restrições e filtros. Por exemplo, os números pares
de 0 até 50 ou os números divisíveis por 7 da sequência [3,158], ou até
mesmo de uma maneira simplificada ter uma lista da sequência [0,50] que
sejam pares.
32
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
Os índices para o fatiamento podem ser omitidos, sendo assim, o
índice para o início passa a ser o padrão, no caso o índice 0, o fim da lista
assume um valor determinado pelo usuário, e o passo será 1.
OBS: O passo também pode ser negativo. Sendo assim, a lista será
percorrida da direita para a esquerda.
33
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
11. Bibliotecas
Assim como qualquer outra linguagem de programação, o Python
possui bibliotecas de códigos, com funções já definidas, entre outras
ferramentas.Para utilizar essas bibliotecas basta usar o comando import
nome_do_módulo, ou o comando from nome_da_biblioteca import
nome_do_módulo. Além disso, para facilitar o chamado de uma
biblioteca, podemos usá-la com o nome que quisermos através do
comando as ficando então import nome_do_módulo as nome_de_uso ou
from nome_da_biblioteca import nome_do_módulo as nome_de_uso.
Um outro comando muito útil quando se trata de bibliotecas é o
dir(nome_da_bibilioteca), por mostrar todas as funções contidas nelas.
Para utilizar os métodos de uma biblioteca basta chamá-la como
nome_da_biblioteca.nome_da_função(argumentos).
11.1. Math
A biblioteca math tem como objetivo facilitar o uso da linguagem
matemática. Funções como raiz quadrada, valor de pi e etc já estão
embutidas nela.
34
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
.FACTORIAL(x): Retorna o fatorial de x.
35
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
.DEGREES(x): Retorna o valor do ângulo x de radiano para grau.
11.2. Random
O módulo Random tem como proposta pegar algum elemento
aleatório de algum tipo de dado.
11.3. Datetime
A biblioteca Datetime permite trabalhar com dia e tempo.
DATETIME.NOW(): Coleta o dia e tempo correntes.
11.4. Numpy
Numpy é um pacote que tem como principal função realizar
operações com vetores e matrizes. Essa ferramenta é muito superior às
operações com vetores originais do Python. O tipo de variável criado pela
biblioteca Numpy é chamado de “array”
38
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
.SHAPE: Retorna o tamanho de cada dimensão da matriz.
39
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
.ARANGE(c): Muito parecido com a função range. A grande
diferença que retorna uma variável do tipo array e não uma lista.
40
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
11.4.2. Operações entre arrays
Uma das grandes vantagens do uso do numpy está no fato das suas
operações já estarem previamente programadas. Os comandos das
operações com arrays seguem o mesmo padrão das operações aritméticas
básicas na soma e na subtração, sendo a multiplicação de matrizes feita
com o comando .DOT(a,b), onde a e b são matrizes.
41
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF