Introdução ao Python
Prof. Stefano
Prof. Stefano
Python
• Python é uma linguagem de programação foi concebida no final de
1989 por Guido van Rossum e uma primeira versão foi
disponibilizada em 1991.
• A versão 1.0 foi disponibilizada em 1994 e a 3.0 em 2008;
• Python é uma linguagem de alto nível, com tipagem dinâmica,
em que é fácil traduzir o raciocínio em um algoritmo
O nome Python teve a origem no grupo humorístico
britânico Monty Python, criador do programa Monty
Python’s Circus e não da serpente
Prof. Stefano
Python
Prof. Stefano
JAVA
X
PYTHON
X
C++
Tudo depende da aplicação...embarcado, web, desktop..
Prof. Stefano
Python
Prof. Stefano
MicroPython
[Link] Possibilita o desenvolvimento de aplicações mais avançadas. Ela
foi desenvolvida com o foco no CircuitPython, um port da
Adafruit para o MicroPython, mas também estão trabalhando
É uma implementação do Python 3 em um pacote para suporte a programação Arduino, com ARM
Cortex M4 que opera a 120 MHz, com suporte a DSP e ponto
otimizada para rodar em flutuante por Hardware. Fonte:[Link]
microcontroladores
Prof. Stefano
Python Shell
Prof. Stefano
Python
No Python os tipos numéricos básicos são:
Tipo Tamanho Tamanho Intervalo Obs
(Bits) (Bytes)
Int 16 2 -32768 a 32767 Números inteiros
Float 64 8 -3.4028235E+38 a Valor em ponto flutuante
3.4028235E+38 (64 bits)
Boolean 8 1 true ou false Valores booleanos
verdadeiros ou falsos
O Python também suporta números imaginários [ a + i*b (a parte real; i*b parte imaginária)]
Ainda utiliza os tipos Decimal e Fraction
Prof. Stefano
Python
float
int
Resto da divisão
Prof. Stefano
Python
• Operador Aritmético
Operador Operação realizada
+ Soma
- Subtração
* Multiplicação
/ Divisão
% Resto da divisão
// Somente parte inteira
** Potência
Na divisão “ / “ o resultado é um número flutuante (float) 10
Prof. Stefano
Python
STRING utilizar ”......” ou ‘......’
Na utilização de termos em inglês pode-se necessitar
do ‘ , assim utiliza-se o “ na manipulação das strings 11
Prof. Stefano
Python
Concatenar string
12
Prof. Stefano
Python
String indexada
numero dois
[ 0 1 2 3 4 5 6 7 8 9 10 ]
Strings são imutáveis
Comprimento da string 13
Prof. Stefano
Python
Atribuição múltipla
Variáveis:
• Não podem começar com número;
• Não ter espaço em branco
• Não ter símbolo especial
• <>?/@#$%¨&*”!()~^+-
Atribuição aumentada
X=x+ 10 x +=10
14
Prof. Stefano
Python
Crie um arquivo novo...New File e digite o programa da próxima página
15
Prof. Stefano
Python
Formatação de print
'''
Para mais linhas
utiliza-se 3 aspas no
# comentário inicio e no fim
'''
Aperte F5 e salve o programa
como [Link]
Marcadores
%s - string
%d – integer
%f – float
%<numero de dígitos>f – flutuante com número de dígitos
%1.2f (12.456) 12.45
16
Prof. Stefano
Python
Concatenar somente string, não número
17
Prof. Stefano
Python
Função input( ) Utilizada para entrada de dados via teclado
Retorna sempre uma String
Para converter em número pode-se utilizar a função int ( ) ou flot()
# outro exemplo
nome = input("Digite o seu nome ")
print(" Olá %s , muito bom te conhecer !" %nome)
# entrada transformada em número
ano = input(" Em que ano você nasceu ? ")
idade=2019 - int(ano)
print(" %s você nasceu em %s , então está com %d anos. " %(nome,ano,idade))
testar
1 2 3 1, 2, 3
18
Prof. Stefano
Python
len ( ) tamanho da string
int(
1 2 3 1, 2, 3
19
Prof. Stefano
Python
F-string
F “ strings literais formatadas” (formatted string literals);
f-strings são strings com a letra f no início e chaves {} para realizar a interpolação de
expressões.
nome = 'IFSC'
print(f"Qual a instituição em que você estuda? {nome}!")
20
[Link] Prof. Stefano
Python
• Operador de Relação: eles testam as relações nas
expressões. Seu resultado é 1 se for verdadeiro ou 0
se for falso;
Operador Operação realizada
== Igual a
!= Diferente
> Maior que
< Menor que
>= Maior ou igual a
<= Menor ou igual a
21
21
Prof. Stefano
Python
• Exemplos de Operador de Relação:
• 4 = = 3; retorna 0 - FALSO
• 3 = = 3; retorna 1 - VERDADEIRO
• 7 > = 3; retorna 1 – VERDADEIRO
• 4 < = 3; retorna 0 - FALSO
• 4 ! = 3; retorna 1 – VERDADEIRO
• 4 > 3; retorna 1 – VERDADEIRO
22
Prof. Stefano
Python
• Operadores lógicos: realizam operações lógicas nas
expressões. Os operandos são considerados
verdadeiros(1) ou falsos(0). Seu resultado é 1 se for
verdadeiro ou 0 se for falso;
Operador Operação realizada
and AND (E)
or OR (OU)
not NOT (Negado)
23
Prof. Stefano
Python
• Exemplos de Operador Lógico:
a) (3 > 1) and (2= = 2);
1 and 1; resulta em 1 - verdadeiro
b) (3 > 7) or (2= = 2);
0 or 1 ; resulta em 1 - verdadeiro
c) not{(3 > 1) and (2= = 2)} ;
not{ 1 and 1};
not{ 1} ; - resulta em 0 - falso
24
Prof. Stefano
Python
• Operadores Bit a Bit: eles testam as relações dos
operadores nas expressões bit a bit;
Operador Operação realizada
& AND
| OR
^ XOR
~ NOT
>> SHIFT RIGHT,desloca bits a
direita
<< SHIFT LEFT, desloca bits a
esquerda 25
Prof. Stefano
Python
• Exemplos de Operador Bit a Bit:
a) v1= 101101, v2=110011, v3 = v1 & v2; AND
v1 = 1 0 1 1 0 1
v2 = 1 1 0 0 1 1
v3 = 1 0 0 0 0 1
b) v1= 110001, v2=010111, v3 = v1 | v2; OR
v1 = 1 1 0 0 0 1
v2 = 0 1 0 1 1 1
v3 = 1 1 0 1 1 1
26
Prof. Stefano
Python
27
Prof. Stefano
Python
Controle de fluxo de um programa
• O controle do fluxo normal de um programa é um
poderoso recurso em qualquer linguagem de
programação;
• A seguir veremos as diferentes formas de fazer este
controle;
28
Prof. Stefano
Python
• Declaração de controle condicional IF
IF.......THEN....ELSE
SE......ENTÃO...SENÃO
• Ele é utilizado para executar um determinado
comando se uma determinada condição for
verdadeira. A opção ELSE não é obrigatória.
IF (true) THEN SE (verdadeiro) ENTÃO
CommandsTrue ComandosVerdadeiro
ELSE SENÃO
CommandsFalse
ComandosFalso
29
Prof. Stefano
Python
IF... Sintaxe
# Condicional IF
x=eval(input("Digite um número "))
if x>3: marcador :
print("%d é maior que 3 "%x)
Espaço
(identação)
print("Novo comando")
testar
30
Prof. Stefano
Python
• Caso 1: somente verdadeiro:
if true:
CommandsTrue
V
Pergunta Comandos
?
31
31
Prof. Stefano
Python
• Caso 2: com verdadeiro e falso:
x=int(input("Digite um número "))
if true:
CommandsTrue If x>3:
print("O número é maior que 3 ")
else: else:
print("O número é igual ou menor que 3 ")
CommandsFalse
print("O valor atual de x é %d “ %x)
testar
V
Pergunta ComandosV
?
N
ComandosF 32
32
Prof. Stefano
Python
• Caso 3: IF aninhado:
if true1:
Commands1 V
true1 Commands1
?
elif true2:
N
Commands2
V
elif true3: true2 Commands2
?
Commands3
N
else:
V
Commands4 true3 Commands3
?
N
Commands4
33
33
Prof. Stefano
Python
• Caso 3: IF aninhado:
x=int(input("Digite um número "))
if x>9:
print("O número é maior que 9 ")
elif x>3:
print("O número é maior que 3 e menor ou igual a 9 ")
else:
print("O número é igual ou menor que 3 ")
testar
print(“ O valor atual de x é %d” %x
34
Prof. Stefano
Python
• Declaração de controle condicional FOR
• Diferente de outras linguagens o FOR em Python atua
sobre elementos de, por exemplo, uma sequência a
cada iteração. Pode-se ainda utilizar a função range( )
para que ele uma determinada faixa;
for variável in sequência:
Comandos
for variável in range(start, stop, step):
Comandos
35
Prof. Stefano
Python
range(start, stop, step)
36
Prof. Stefano
Python
É possível acrescentar a opção else: no laço for, que terá a função acessada quando
terminar de trabalhar com a sequência
37
Prof. Stefano
Python
• Declaração de controle condicional WHILE
• Faz a verificação da condição ANTES de executar o
comando. Enquanto a condição permanecer
verdadeira os comandos serão executados.
WHILE true:
V
Comandos
Comandos
pergunta
?
N
38
38
Prof. Stefano
Python
Exemplo
39
Prof. Stefano
Python
- break e continue
40
Prof. Stefano
Python
41
Prof. Stefano
Listas
• Permite colocar dados de diferentes formatos
• Tamanho indefinido (pode aumentar)
• Permitem alterar seus elementos
• É possível colocar listas dentro de listas
• São indexadas
>>> Mlista=[ ] #inicializar a lista
>>> type(Mlista)
<class 'list'>
>>> Mlista
[]
? ( >=2 , <3)
42
Prof. Stefano
Python
atribuição
43
Prof. Stefano
Python
Comprimento da lista
Operador in
Inserir em determinada posição
Inserir no final
Retirar determinado elemento
retirar em determinada posição
44
Prof. Stefano
Python
lista
45
Prof. Stefano
Python
Inverte a lista
Não aceita diferentes
formatos
coloca a lista em ordem crescente
coloca a lista em ordem decrescente
46
Prof. Stefano
Python
Métodos da Lista
47
[Link] Prof. Stefano
Python
Cópia de lista
Quando você tem uma lista e faz uma cópia direta de igualdade as duas listas
estarão referenciadas a mesma posição da memória
É preciso utilizar o
Memória
método copy() da lista
[1,2,3]
48
Prof. Stefano
Python
Matrizes Multidimensionais
No Python padrão utiliza-se listas dentro de listas
Soluções melhores com o módulo NumPy
49
Prof. Stefano
Python
50
Prof. Stefano
Python
Importar bibliotecas
import math #importa toda a biblioteca math
from math import sqrt #importa uma ou mais funções específicas de uma
biblioteca
import math as mt #importa uma biblioteca que será referenciada agora
com o novo nome mt
from random import * #importa toda a função
51
Prof. Stefano
Python
Importar bibliotecas
Bibliotecas numéricas básicas:
Math: possibilita o acesso às funções hiperbólicas, trigonométricas e
logarítimicas para números reais.
Numpy: computação numérica com poderos objetos numéricos de arrays e
rotinas para a sua manipulação [Link]
Matplotlib : visualização de dados em gráficos [Link]
Scipy : rotinas numéricas de alto nível para otimização, regressão,
interpolação, etc [Link]
Cmath: para trabalhar com números imaginários
52
Prof. Stefano
Python
Math
São somente algumas, a listagem completa está em:
53
[Link]
[Link] Prof. Stefano
Python
Numpy
É o pacote fundamental para computação científica
destacando-se as suas seguintes qualidades:
• É extremamente rápido em relação ao Python por fazer as
operações em C;
• Serve como base para muitos dos pacotes de algoritmos
de inteligência artificial, processamento de imagens, etc
54
Prof. Stefano
Python
import numpy as np
55
Prof. Stefano
Matplotlib é biblioteca para gerar gráficos em diferentes formatos,
facilitando a compreensão dos dados em análise.
56
[Link] Prof. Stefano
Python
57
Prof. Stefano
Python
linspace(start,stop,nr pontos)
plot(x, y) # plot x e y utilizando os parâmetros padrões de linha e cor
plot(x, y, 'bo') # plot e and y utiliza círculos azuis como marcadores
plot(y) # plot y utilizando x com array de indexação 0..N-1
plot(y, 'r+') # o mesmo, com marcadores + vermelhos
58
[Link] Prof. Stefano
Python
plot (x,y,label=‘linear’, color=‘g’,linestyle=‘- -’,linewidth=2, marker=‘o’, markerfacecolor = ‘blue’,
markersize=12)
59
Prof. Stefano
Python
import [Link] as plt
import numpy as np
x = [Link](0, 2, 100)
[Link](x, x, label='linear')
[Link](x, x**2, label='quadratic')
[Link](x, x**3, label='cubic')
[Link]('x label')
[Link]('y label')
[Link]("Simple Plot")
hold ativado
[Link]()
[Link]()
60
Prof. Stefano
Python
import [Link] as plt
import numpy as np
x = [Link](0, 10, 0.2)
y = [Link](x)
fig, ax = [Link]()
[Link](x, y)
[Link]()
61
Prof. Stefano
Python
62
Prof. Stefano
Python
SUBPLOT
63
Prof. Stefano
Python
import numpy as np
import [Link] as plt
x1 = [Link](0.0, 5.0)
x2 = [Link](0.0, 2.0)
y1 = [Link](2 * [Link] * x1) * [Link](-x1)
y2 = [Link](2 * [Link] * x2)
[Link](2, 1, 1)
[Link](x1, y1, 'o-')
[Link]('A tale of 2 subplots')
[Link]('Damped oscillation')
[Link](2, 1, 2)
[Link](x2, y2, '.-')
[Link]('time (s)')
[Link]('Undamped')
[Link]()
Prof. Stefano
Python
import [Link] as plt
import [Link] as mpimg
image = [Link]('[Link]')
[Link](image)
[Link]()
Utilizar arquivos PNG para as figuras
Prof. Stefano
Python
import [Link] as plt
import [Link] as mpimg
import numpy as np
Ativando o controle
do tamanho da figura image = [Link]('[Link]')
#[Link](figsize=(5,8))
[Link](2,1,1)
[Link](image)
x1 = [Link](0.0, 5.0)
[Link](2,1,2)
[Link](x1,x1)
[Link](True)
[Link]()
66
Prof. Stefano
Python
67
Prof. Stefano
Python
import random
import numpy as np
import [Link] as plt
from matplotlib import cm
from mpl_toolkits.mplot3d import Axes3D
X = [Link](-5, 5, 0.25)
Y = [Link](-5, 5, 0.25)
X, Y = [Link](X, Y)
R = [Link](X**2 + Y**2)
Z = [Link](R)
fig = [Link]()
ax = Axes3D(fig)
ax.plot_surface(X, Y, Z, rstride=1, cstride=1,
cmap=[Link])
[Link]()
Prof. Stefano
Python
Funções
• É um bloco de código que somente roda quando
chamado;
• Podem ser passados parâmetros para a função, que
pode ou retornar dados;
• Uma função é criada pelo operador def ;
69
Prof. Stefano
Python
Teste na sheel
Posição na memória
Chamada da função correta
Chamada na própria função
70
Prof. Stefano
Python
Passagem de parâmetros e retorno de valores
71
Prof. Stefano
Python
Exemplo de uma péssima estrutura de um programa em Python
Mesmo que
funcione!
72
Prof. Stefano
Python
Esqueleto de um
programa em Python
com funções*
#--------------------------------------------------------
#--------------------------------------------------------
73
* [Link] Prof. Stefano
Referências
• Notas de aula prof. Stefano
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
74
Prof. Stefano