Python Apostila Completa Básica

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 41

Sumário

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”).

Também são realizadas verificações a outras variáveis, como por


exemplo, “será que determinada variável tem o valor 2?”. Esse tipo de
pergunta é feita com o uso do “ == “. A resposta sempre será do tipo bool
ou booleano.

2.3.1. Operações com booleanos

As operações com booleanos são um pouco diferentes das


operações com outras variáveis. Neste caso, são feitas operações lógicas
com o uso dos comandos “and”, “or” e “not”. A lógica é a mesma da
tabela abaixo.

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 (‘).

Ao definir uma string utilizando aspas simples é preciso ter cuidado


ao fazer uso de outra aspas simples dentro da mesma string, pois o
programa interpretará realmente apenas o que estiver no primeiro par de
aspas. Caso queira corrigir o problema deve-se utilizar as aspas duplas ou
acrescentar uma barra invertida (\) antes das aspas.

9
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
2.4.1. Índices

Toda string é indexada, ou seja, todos os caracteres contidos numa


string possuem uma posição, o primeiro caractere tem índice 0, o segundo
tem índice 1, e assim por diante. Para chamar os caracteres de uma string
pelo seu índice basta acrescentar seu índice entre colchetes.

2.4.2. Operações com strings

Apesar de parecer estranho, algumas operações com strings podem


ser feitas com o “+” (também chamada de concatenação), como também
com o “*”.

2.4.3. Métodos

LEN (): Retorna o tamanho da string


.LOWER(): Retorna a string em caixa baixa
.UPPER(): Retorna a string em caixa alta
STR() : Transforma uma variável qualquer em uma string

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.

3. Entrada e saída de dados


Em muitos casos precisa-se que o programa receba e manipule
dados de um usuário. No Python existem duas maneiras de ler dados, seja
utilizando o comando raw_input() ou input(). No raw_input tudo o que for
escrito pelo usuário será transformado em uma string. O input só aceita
entrada de dados numéricos, que serão transformados em algum tipo já
conhecido de variável. Para escrever uma string com o comando input é
necessário o uso das aspas, o que não é necessário no caso do raw_input.

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.

OBS: No exemplo, a variável lista2 é extremamente semelhante a


um vetor. Lista é a forma mais simples de representar um vetor, e
12
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
também pode ser usado para representar uma matriz. Porém, existem
formas melhores, como a biblioteca “Numpy”.

4.1.1. Como chamar os elementos da lista por seus índices

Para acessar um determinado elemento de uma lista segue-se o


mesmo princípio de uma string. Se existem n elementos, as posições deles
serão definidas de 0 a n-1. Portanto, para acessar um elemento q, onde
q<n, deve-se fazer o seguinte comando: nome_da_lista[q-1].

4.1.2. Operações com listas

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

.APPEND(): Adiciona determinado elemento à lista citada.

13
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
.INDEX(): Exibe o índice da primeira ocorrência de determinado
elemento.

.INSERT(): Insere um elemento em um índice escolhido pelo


programador.

DEL: Retira o elemento de um índice escolhido pelo programador.

.SORT(): Ordena determinada lista.

.REMOVE(): Remove a 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”-

4.2.1. Acessando e criando chaves e conteúdos

Pode-se também acessar os conteúdos como na lista apenas


colocando no lugar do que era o índice uma chave. Além disso, pode-se
criar novas chaves apenas atribuindo valores.
15
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
4.2.2. Métodos

.CLEAR(): Remove todos os elementos do dicionário.

.FROMKEYS(lista,valor): retorna um novo dicionário cujas chaves são


os elementos de uma lista e cujos valores são iguais ao valor.

.GET(chave,valor): Obtém o conteúdo da chave. Se a chave não


existir retorna o valor.

.ITEMS(): Devolve uma lista com os pares chaves/valor, sem ordem


específica.

.KEYS(): Devolve uma lista com as chaves, sem ordem específica.


16
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
.VALUES():Devolve uma listas com os valores, sem ordem específica.

.POP(chave): Devolve o valor correspondente a chave e remove o


par chave/valor.

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.

5.1. If, Elif e Else


No Python, o controle de fluxo que utiliza de condições para avaliar
qual será o próximo comando a ser executado é o if. Com esse comando o
interpretador é capaz de avaliar se uma condição é verdadeira e com isso
realizar uma sequência de diferentes processos. O comando else é
realizado caso não atenda a condição do if. Para que o programa seja
capaz de avaliar condições é preciso utilizar comparadores lógicos, tais
como:

== - IGUAL
!= - DIFERENTE
< - MENOR QUE
> - MAIOR QUE
17
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
<= - MENOR OU IGUAL
>= - MAIOR OU IGUAL

Nesse programa ele avalia no caso if se o resto da divisão do


número for 0. Em caso afirmativo ele irá mostrar na tela a frase “Esse
numero e par”, caso contrário irá mostrar na tela a frase “ Esse numero e
impar”.

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.

5.1.1. Diferença entre elif e o else

O comando elif é uma abreviação de else if. O else complementa o


if, ou seja, caso a condição não seja verdadeira os comandos a serem
executados serão os que estiverem indentados ao else. Já o elif realiza os
comandos seguintes avaliando uma nova condição.
OBS: Diferentemente de muitas linguagens, no Python o elif NUNCA
estará dentro do if. A prioridade será totalmente do que vier antes.

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.

Porém, também é possível usar o for da mesma forma que em


outras linguagens, onde são feitos alguns comandos por uma determinada
quantidade de vezes que seja necessária. Para esse fim pode-se usar a
função range() que retorna uma lista com a quantidade de elementos que
estiver no seu argumento.

19
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
Se esse comando for integrado ao for acontecerá o seguinte:

Ao ser percorrida uma sequencia pode-se obter o índice da posição


atual e seu valor correspondente através da função enumerate().

>>> for ordem, i in enumerate(*“Arroz”,”Feijão”,”Carne”+):


>>> print ordem, i
>>> 0 Arroz
>>> 1 Feijão
>>> 2 Carne

6.1.1. For ... Else

Assim como no comando if, o for também possui a condição else.


Essa última será executada apenas uma vez, assim que terminar a
condição do for.

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.

OBS: Deve-se tomar muito cuidado para que em alguma hora a


condição do while se torne falsa. Se isso nunca acontecer o programa irá
executar o comando infinitamente. Uma maneira bastante útil de evitar
esse tipo de desastre é o comando “break”. Ele faz com que o programa
saia do laço automaticamente.

21
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
6.2.1. While ... Else

Da mesma forma que no for e no if, pode ser colocado a condição


else no comando while, sendo executado uma única vez assim que sair da
condição imposta pelo comando.

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.

7.2. Funções já definidas no Python


MAX(): Retorna o valor máximo de uma lista, dicionário ou string.

MIN():Retorna o valor mínimo de uma lista, dicionário ou string.

ABS(): Retorna o valor, em módulo, de um número.

TYPE(): Retorna o tipo de qualquer objeto.

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>

No caso da classe não fazer nada é usada a palavra reservada pass:


>>>class Nome_da_classe:
>>> pass

É recomendado que se utilize letra maiúscula para iniciar o nome da


classe.

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)

Para referenciar uma dada instância criada lhe é atribuída uma


variável, representando o objeto.

>>>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

O variável self, que representa o objeto que precisa ser passado de


forma explícita, é uma convenção que pode ser substituída por outra
palavra, mas é uma boa prática mantê-la.

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

Com o comando dir() é possível verificar todos os atributos


associados à classe.
Para acessar algum atributo do objeto basta aplicar a sintaxe:

>>>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.

Caso não seja empregado algum modo no arquivo, por default é


empregado o modo read.

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.4. Funções aplicadas a arquivos


.WRITE(): Utilizado para escrever algo no arquivo.
>>> variável.write(“ Texto a ser inserido no arquivo”)
.READ(): Utilizado para ler o arquivo.
>>> variável.read()
.READLINE(): Utilizado para ler apenas uma linha do arquivo.
>>> variável.readline()
.CLOSED(): Utilizado para verificar se o arquivo foi realmente
fechado. Seu retorno será um booleano, True no caso do arquivo estar
fechado e False para caso esteja aberto.
>>> variável.closed()

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...

>>> with open(“nome_do_arquivo.extensão”,”modo do arquivo”) as


variável:
>>> variável.write(“Texto a ser inserido no arquivo”)

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>

10.2. Print com o uso da “,”


A vírgula (,) pode ser utilizada em conjunto com a função print para
exibir a informação sem pular linha.

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.

Poderia ser feita de outra maneira, porém não tão prática.

A ideia geral da compreensão de listas é criar uma lista com filtros e


restrições de maneira rápida e simples.

10.4. Passo e fatiamento de listas


As listas podem ser fatiadas utilizando a seguinte sintaxe:
Nome_da_lista[inicio:fim:passo]
Início seria onde o fatiamento começa. Fim onde termina, porém,
não incluindo esse número. O passo é o espaço entre cada elemento do
fatiamento.

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.

10.5. Funções Lambda


Funções Lambda ou Anônimas são funções cujo propósito é deixar o
programa mais simples e funcional.

Que é o mesmo que:

As funções anônimas são muito úteis quando combinadas com a


função filter(), para filtrar uma lista.

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).

Lembrando que quando é utilizado o comando import, este buscará


o módulo dentro da biblioteca, caso não seja encontrado, ele passará a
interpretar o que estiver após o import como sendo uma biblioteca. Caso
a biblioteca não exista ocorrerá um erro.
Serão mostradas as principais utilizações de algumas bibliotecas do
Python, algumas já instaladas, outras não.

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.

.EXP(x): Retorna o valor de .

.SQRT(x): Retorna o valor da raix quadrada de x.

.CEIL(x): Retorna o menor valor inteiro maior que x.

.FLOOR(x): Retorna o maior valor inteiro menor que x.

.LOG(x,[b]): Retorna valor do log de x na base b. Caso não seja dado


o valor de b, considera-se b = e(número de Euller).

.PI / .E: Retorna os valores das constante pi e “e” (número de


Euller).

35
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
.DEGREES(x): Retorna o valor do ângulo x de radiano para grau.

.RADIANS(x): Retorna o valor do ângulo x de grau para radiano.

.SIN(x) / .COS(x) / .TAN(X): Retorna o seno/cosseno/tangente de x.

.ASIN(x)/.ACOS(x)/.ATAN(x): Retorna o valor de arco seno/ cosseno/


tangente de x.

11.2. Random
O módulo Random tem como proposta pegar algum elemento
aleatório de algum tipo de dado.

.RANDOM(): Retorna um elemento aleatório entre 0 e 1.

.UNIFORM(a,b): Retorna um elemento aleatório entre a e b,


incluindo a e excluindo b.

.RANDINT(a,b): Retorna um elemento inteiro aleatório entre a e b


incluindo esses dois.
36
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
.RANDRANGE(b)/(a,b,passo): Retorna um elemento inteiro aleatório
entre a e b, incluindo a e excluindo b, com um passo determinado.

.CHOICE(seq): Retorna um elemento aleatório de uma sequência


seq.

.SAMPLE(seq, k): Retorna uma lista de tamanho k com k elementos


aleatórios de uma sequencia seq.

11.3. Datetime
A biblioteca Datetime permite trabalhar com dia e tempo.
DATETIME.NOW(): Coleta o dia e tempo correntes.

>>> print datetime.now()


>>> 2015-11-08 01:58:02.182000

DATETIME.NOW().YEAR: Destaca da data apenas o ano.


>>> print datetime.now().year
>>> 2015

DATETIME.NOW().MONTH: Destaca da data apenas o mês.

>>> print datetime.now().month


>>> 11
37
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
DATETIME.NOW().DAY: Destaca da data apenas o dia.

>>> print datetime.now().day


>>>8

DATETIME.NOW().HOUR: Destaca do tempo apenas a hora.

>>> print datetime.now().hour


>>> 1

DATETIME.NOW().MINUTE: Destaca do tempo apenas o minuto.

>>> print datetime.now().minute


>>>58

DATETIME.NOW().SECOND: Destaca do tempo apenas o segundo.

>>> print datetime.now().second


>>> 18

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”

.ARRAY([[Linha1],[Linha2],...,[LinhaN]]): método principal de criação


de matrizes e vetores. Perceba que seus argumentos são listas dentro de
uma única lista. Caso seja um vetor, pode-se fazer da seguinte forma:
.ARRAY([linha1]).

38
Universidade Federal Fluminense
Introdução ao Python
PET-Elétrica UFF
.SHAPE: Retorna o tamanho de cada dimensão da matriz.

.TRANSPOSE(): Retorna a transposta da matriz.

.SUM(matriz,[axis =(0,1)]): Retorna a soma de todos elementos de


uma matriz caso só tenha um argumento. No caso contrário, se colocado
axis = 0, retornará uma lista com a soma dos elementos de cada coluna, se
for axis = 1, retornará uma lista com a soma dos elementos de cada linha.

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.

.ZEROS([a,b], dtype = Int): Cria uma matriz com dimensões axb


preenchida por zeros do tipo float caso só tenha dado um argumento. No
segundo argumento há a especificação de inteiro (dtype = int).

.LINALG.DET(a): Retorna o determinante de uma matriz a.

11.4.1. Acessando elementos

Da mesma forma como as listas, pode-se acessar cada elemento de


um array. De forma análoga, a maneira de se fazer isso é
matriz[Indice_linha,Indice_coluna].
OBS: Não se esquecer que no Python sempre se começa a contar os
índices a partir do 0. Então para acessar o elemento da linha 2, coluna 3
deve-se por array[1,2]

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

Você também pode gostar