Aula 03 - Programação em Python
Aula 03 - Programação em Python
em Python
AULA 03 - EXA 801 – ALGORITMOS E
PROGRAMAÇÃO I
08/03/2024
De algoritmos para Programas
• Definição de programação:
• A sequência de planejamento
• Projeto
• Escrita e Testes de instruções
• Depende de:
• Regras léxicas, sintáticas e semânticas
• Organização
• Otimização
• Documentação
• Testes
08/03/2024
Categorias de linguagens
INTERPRETADAS COMPILADAS
08/03/2024
CPython
O INTERPRETADOR DO PY THON
08/03/2024
"O Python tem sido uma parte importante do
Google desde o início e continua sendo à
medida que o sistema cresce e evolui.
Atualmente, dezenas de engenheiros do
Google usam Python, e estamos procurando
mais pessoas com habilidades nessa
linguagem."
Porquê Python?
◦ Sintaxe pequena e limpa
◦ Tipagem dinâmica
◦ Semântica expressiva
◦ Feedback imediato
◦ Design estrutural
◦ Software Open Source relevante
08/03/2024
Uso do Python como linguagem introdutória nos
departamentos americanos (2014)
Usa
69%
Usa
80%
08/03/2024
Estrutura de um script
As instruções são feitas sequencialmente, exemplo:
print('Alo Mundo!')
print('Bom dia.')
print('Boa sorte!')
08/03/2024
Conceitos da linguagem
Keywords
◦ Palavras com significados especiais.
◦ Não podem ser usadas como variáveis.
◦ Exemplo: if, for, while
Comentários
◦ Comentários começam com #.
Case sensitive
◦ Python é case-sensitive, portanto, minhavariável e MinhaVariável são diferentes.
08/03/2024
Operadores aritméticos
Adição Subtração Multiplicação
>>> 10 + 3 >>> 10 - 3 >>> 10 * 3
13 7 30
3.3333333333333335 3 1
08/03/2024
Operadores aritméticos
Valor Negativo Potência
>>> -5 >>> 10 ** 3
-5 1000
08/03/2024
Variáveis
E SPAÇ O DE M E M Ó R I A ALO C ADO PAR A GUAR DAR VALO R E S Q UE P O DE M SE R M O D I F I C ADO S
DUR AN T E A E X E C UÇ ÃO DE UM P R O GR AM A.
08/03/2024
Atribuição de valores
PYTHON PSEUDOCÓDIGO
08/03/2024
Uso de variáveis
No Python, não há necessidade de declarar variáveis explicitamente.
nota_1 = 10
nota_2 = 5
media = (nota_1 + nota_2) / 2
print(media)
08/03/2024
Tipos básicos
Int Bool
◦ Números inteiros ◦ Valor lógico (booleano)
◦ {12, -3, 0, 65_535} ◦ {True, False}
Float Str
◦ Números reais (ponto flutuante) ◦ Texto
◦ {3.1416, 6.02e23, 0.0} ◦ {"casa grande", 'casa'}
Complex
◦ Números complexos
◦ {23-4j, -3+1j, 2j}
08/03/2024
Desafio
Qual o valor de x, y e z?
x = 4
y = x + 3
z = y * 2
x = z + x
08/03/2024
Uso de constantes
Constantes no Python não passam de convenções. Por convenção, elas são escritas em caixa
alta, ou SCREAM_CASE.
PI = 3.1415926536
08/03/2024
Incremento e decremento
INCREMENTO DECREMENTO
x += 1 x -= 3
# equivalente a: # equivalente a:
x = x + 1 x = x - 3
08/03/2024
Formatação de strings
C O M O F O R M ATAR ST R I N G S .
08/03/2024
Formatação de saída
# Estilo antigo (baseado em C)
print("%s %d" % (nome, idade))
# Usando str.format
print("{} {}".format(nome, idade))
print("{1} {0}".format(idade, nome))
print("{idade} {nome}".format(idade=idade, nome=nome))
# Usando f-string
print(f"{nome} {idade}")
08/03/2024
Caracteres de escape
Caractere Significado
\n Nova linha
\t Tab
\b Retrocesso
\” Aspas
\\ Barra
08/03/2024
Formatação baseada no C
Padrão Formatação
%c Caractere simples
%d Decimal
%e Notação científica
%f Ponto flutuante (float)
%o Octal
%s Cadeia de caracteres
(string)
%u Decimal (sem sinal,
unsigned)
%x Hexadecimal
08/03/2024
Exemplo de saída
>>> "%d" % 26
'26'
>>> "%f" % 26
'26.000000'
>>> "%e" % 26
'2.600000e+01'
>>> "26 em hexadecimal: %x" % 26
'26 em hexadecimal: 1a'
>>> "Primeira letra: %c" % "A"
'Primeira letra: A'
>>> "Disciplina: %s-%d" % ("EXA", 854)
'Disciplina: EXA-854'
>>> codigo = "EXA"
>>> num = 854
>>> "Disciplina: %s-%d" % (codigo, num)
'Disciplina: EXA-854'
08/03/2024
Exemplo de saída
>>> "{:d}".format(26)
'26'
>>> "{:f}".format(26)
'26.000000'
>>> "{:e}".format(26)
'2.600000e+01'
>>> "26 em hexadecimal: {:x}".format(26)
'26 em hexadecimal: 1a'
>>> "Primeira letra: {}".format("A")
'Primeira letra: A'
>>> "Disciplina: {codigo}-{numero}".format(codigo="EXA", numero=854)
'Disciplina: EXA-854'
>>> codigo = "EXA"
>>> num = 854
>>> "Disciplina: {codigo}-{numero}".format(codigo=codigo, numero=num)
'Disciplina: EXA-854'
08/03/2024
Uso de f-strings
Também chamada de interpolação de strings, esse método permite uma formatação elegante da
saída.
08/03/2024
Definindo tamanho de campos
C-STYLE STR.FORMAT F-STRINGS
08/03/2024
Arredondando campos
C-STYLE STR.FORMAT F-STRINGS
08/03/2024
Alinhando campos
>>> "%10.2f %10.2f" % (8, 15.3)
C-STYLE ' 8.00 15.30'
08/03/2024
Preenchendo campos com 0
>>> "%04d" % 21
C-STYLE '0021'
>>> "{:04d}".format(21)
STR.FORMAT '0021'
>>> f"{21:04d}"
F-STRINGS '0021'
08/03/2024
Alinhamento de strings
Alinhar à direita
>>> "{:>16}".format("EXA-801")
' EXA-801’
Alinhar à esquerda
>>> "{:<16}".format("EXA-801")
'EXA-801 ‘
Alinhar ao meio
>>> "{:^16}".format("EXA-801")
' EXA-801 ‘
Alinhar e preencher
>>> "{:~^16}".format("EXA-801")
'~~~~EXA-801~~~~~'
08/03/2024
Formatação de caracteres
A tabela ASCII possui 256 códigos de 0 a 255 (um >>> "%c %c %c %c" % ("A", 65 , 0x41, 0o101)
'A A A A’
byte).
08/03/2024
Tabela ASCII
08/03/2024
Entrada e Saída de dados
COMUMENTE CHAMADO DE I/O (INPUT/OUTPUT)
08/03/2024
print e input
SAÍDA ENTRADA
08/03/2024
Boas Práticas
08/03/2024
Boas Práticas
Regras práticas para programas legíveis:
◦ Usar comentários e documentar o código
◦ Dar nomes significativos às variáveis
◦ Colocar parênteses nas expressões para que a ordem das operações fique clara
◦ Usar recuo para separar visualmente os blocos do programa
◦ Alinhar informações relacionadas
◦ Evitar linhas maiores de 80 caracteres, quebrando-as quando necessário
08/03/2024
Ambiente de
desenvolvimento
COMPREENDENDO A IDE
08/03/2024
O ambiente de desenvolvimento
IDE
◦ Ambiente Integrado de Desenvolvimento (IDE, do inglês Integrated Development Environment) é um
software ou pacote de software que facilita a tarefa de programação.
◦ Constam:
◦ Um editor de texto (com recursos de ressaltar a sintaxe por meio de cores, identificação de erros, identificação
automática, autocompletar, etc.);
◦ um compilador (ou um interpretador) para transformar o código-fonte em código de máquina compreensível
pelo computador;
◦ um depurador (debugger) para permitir localizar erros durante a execução do programa;
◦ outras ferramentas para automatizar o processo de produção de software.
08/03/2024
IDEs e editores disponíveis
Visual Studio Code
Pycharm
Spyder
Atom
PyDev
Sublime
NeoVim
08/03/2024
Python Software Foundation. Quotes about Python. Python.org, 2024.
Available from: https://www.python.org/about/quotes/. Acessed: 29 Feb
2024.
GUO, Philip. Python Is Now the Most Popular Introductory Teaching Language
at Top U.S. Universities. Communications of the ACM, 7 Jun 2014. Available
from:
Referências https://web.archive.org/web/20240111170811/https://cacm.acm.org/blog
s/blog-cacm/176450-python-is-now-the-most-popular-introductory-teaching-
language-at-top-us-universities/fulltext. Acessed: 29 Feb 2024.
08/03/2024