Você está na página 1de 41

Programação

em Python
AULA 03 - EXA 801 – ALGORITMOS E
PROGRAMAÇÃO I

Photo by Google DeepMind


Programação

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

Quando a linguagem depende de um Quando o código é executado pela CPU


interpretador, chamado de Máquina Virtual diretamente, para isso, seu código fonte é
(Virtual Machine, VM). traduzido para código de máquina por um
compilador.
Nesse caso, a VM é responsável por
interpretar o código fonte em tempo de O compilador traduz o código fonte antes da
execução (chamado run time). execução (chamado de compile time).

Exemplos: Python, Ruby, Javascript Exemplos: C, Rust, Go, Swift

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

– PETER NORVIG, DIRETOR DE PESQUISA DE QUALIDADE


DA GOOGLE, INC.
Aspectos da linguagem
A linguagem Python foi criada por Guido van Rossum em 1991 e possui um modelo de
desenvolvimento comunitário, aberto e gerenciado pela Python Software Foundation.

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)

TOP 10 DEPARTAMENTOS TOP 39 DEPARTAMENTOS


Não Usa
20%
Não Usa
31%

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

Divisão Divisão inteira Resto de Divisão


>>> 10 / 3 >>> 10 // 3 >>> 10 % 3

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

>>> nota = (7 + 8 + 6) / 3 nota ← (7 + 8 + 6) / 3

Obs.: Em pseudocódigo, o símbolo de


atribuição é o ←.

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

print('Tamanho da circunferência de um circulo de raio 3: ')


print(2 * PI * 3)

print('Tamanho da circunferência de um circulo de raio 5: ')


print(2 * PI * 5)

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.

>>> codigo = "EXA"


>>> num = 854
>>> f"Disciplina: {codigo}-{numero}"
'Disciplina: EXA-854’
>>> f"{26:f}"
'26.000000'

08/03/2024
Definindo tamanho de campos
C-STYLE STR.FORMAT F-STRINGS

>>> "%2d" % 350 >>> "{0:2}".format(350) >>> f"{350:2}"


'350' '350' '350'
>>> "%4d" % 350 >>> "{0:4}".format(350) >>> f"{350:4}"
' 350' ' 350' ' 350'
>>> "%6d" % 350 >>> "{0:6}".format(350)
>>> f"{350:6}"
' 350’
' 350' ' 350'

08/03/2024
Arredondando campos
C-STYLE STR.FORMAT F-STRINGS

>>> "%4.2f" % 3456.78 >>> "{:4.2f}".format(3456.78) >>> f"{3456.78:4.2f}"


'3456.78' '3456.78' '3456.78'
>>> "%3.2f" % 3456.78
>>> "{:3.2f}".format(3456.78) >>> f"{3456.78:3.2f}"
'3456.78'
>>> "%3.1f" % 3456.78 '3456.78' '3456.78'
'3456.8' >>> "{:3.1f}".format(3456.78) >>> f"{3456.78:3.1f}"
>>> "%10.3f" % 3456.78 '3456.8' '3456.8'
' 3456.780' >>> "{:10.3f}".format(3456.78) >>> f"{3456.78:10.3f}"
>>> "%.2f" % 3456.7878
' 3456.780' ' 3456.780'
'3456.79'
>>> "{:.2f}".format(3456.78) >>> f"{3456.78:.2f}"
'3456.78' '3456.78'

08/03/2024
Alinhando campos
>>> "%10.2f %10.2f" % (8, 15.3)
C-STYLE ' 8.00 15.30'

>>> "{:10.2f} {:10.2f}".format(834.0, 1500.55)


STR.FORMAT ' 834.00 1500.55'

>>> f"{834:10.2f} {1500.55:10.2f}"


F-STRINGS ' 834.00 1500.55'

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

A tabela Unicode UTF possui códigos de 1 a 4 bytes


e inclui a tabela ASCII quando os códigos têm
apenas um byte.

Por padrão, Python utiliza a tabela UTF-8 para


codificação de caracteres.

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

print("Olá, mundo!") A função input retorna uma string, de acordo com a


# => Olá, mundo! entrada do usuário no prompt.
print("Olá,", end=" ")
print("Mundo!") nome = input("Seu nome: ")
# => Olá, Mundo! idade = int(input("Idade: "))
altura = float(input("Altura: "))

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

IDLE (padrão do Python)

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

Você também pode gostar