Minicurso de Python



Quem sou?
João Batista
Ciência da Computação
Dev, pesquisador, etc.

Python


Linguagem de programação
Alto nível
Poderosa
Fácil de aprender
Python

Para que serve?
Scripting
Automatização de tarefas
Servidores
...
Geração de Documentos
Python

Ciência de Dados
Inteligência Artificial
Fundamentos de Programação
Introdução à linguagem
Primeiros passos
Instalação
Ferramentas a utilizar
Brincando com o interpretador
Números
Strings
Variáveis
Entrada e Saída
Operadores
Booleanos
Ementa

Windows
Acesse a página oficial do Python
https://www.python.org/
Faça o download da versão 3.7
Instale e seja feliz
Linux
Veja se não está instalado
python --version
Se não estiver:
sudo apt-get install python3
sudo yum install python3
sudo zypper install python3
Debian:
RedHat:
SUSE:
Instalação

Linux:
terminal
Windows:
Jupyter + Anaconda
Replit
Ferramentas


repl.it/languages/python3
Replit

$ python
Python 3.7.0 (default, Sep 15 2018, 19:13:07)
[GCC 8.2.1 20180831] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> 1+2
3
>>>
>>> 3*7
21
>>>
>>> "Hello " + "World!"
'Hello World!'
>>>
>>> exit()
Interpretador

Introdução à
Linguagem


Reter e representar um
valor ou expressão.
Número
Conjunto de caracteres
Lista
Funções
Objeto
...
Variáveis

minhaVariavel = 10
Nome
Operador
de
atribuição
Valor
Variáveis

Cadê o tipo
da variável???
Tipagem Dinâmica
Tipagem Estática
C
Java
Python
JavaScript
type(NOMEDAVARIAVEL)
Variáveis

Regras:
Não começar com um número
Não ser uma palavra reservada
Não conter acentos ou
caracteres especiais
Pode conter o caractere
underline ' _ '
Variáveis

variavel
minhaVariavel
variavel1
1variavel
variável
int
str
inteiro
minha-variavel
minha_variavel
_variavel
variavel
minhaVariavel
variavel1
1variavel
variável
int
str
inteiro
minha-variavel
minha_variavel
_variavel
Variáveis

Números
Qualquer valor numérico
Inteiros
Ponto Flutuante
3 ---> Inteiro
5.5 ---> Ponto Flutuante
0 ---> Inteiro
-7 ---> Inteiro
3.0 ---> Ponto Flutuante
-9.5 ---> Ponto Flutuante
Variáveis

$ python
...
>>>
>>> minhaVar = 10
>>>
>>> minhaVar
10
>>>
>>> minhaOutraVar = 5
>>>
>>> minhaOutraVar
5
>>>
>>> minhaVar + minhaOutraVar
15
>>>
>>> minha Var
10
>>> minhaOutraVar
5
Variáveis

>>>
>>> minhaVar = 12
>>>
>>> minhaVar
12
>>>
>>> 12 + 5
17
>>>
>>> minhaVar + minhaOutraVar
17
>>>
Variáveis

Strings
Cadeias de caracteres
Acesso individual através do índice
"abcde"
Caractere 0 ---> 'a'
Caractere 1 ---> 'b'
Caractere 2 ---> 'c'
Caractere 3 ---> 'd'
Caractere 4 ---> 'e'
Delimitada pelas aspas
Variáveis

>>> nome = "Pedro"
>>>
>>> nome
'Pedro'
>>>
>>> nome[1]
'e'
>>>
>>> nome[0]
'P'
>>>
Variáveis

Booleanos
Admitem dois valores apenas
True
False
Variáveis podem admitir valores booleanos sem serem booleanas
Variáveis

>>> verdade = True
>>>
>>> mentira = False
>>>
>>> verdadeiro
True
>>>
>>> mentira
False
>>>
>>> outraVerdade = true
ERRO
Variáveis

Chega de interpretador!
Escreva no editor de texto
Salve com a extensão .py
Abra o terminal
python NOMEDOARQUIVO.py
NO LINUX
Clicar em Run
Replit
Liberdade!


print("Hello World!")
HelloWorld.py
python HelloWorld.py
Hello World!
Maldição do Hello World

Entrada &
Saída


input()
print()
Recebe um valor do usuário
Pode armazená-lo numa variável
'Imprime' um valor na tela
Pode recebê-lo através de uma variável
funções
Entrada & Saída

Conjunto de comandos
Realiza tarefas específicas
Preferencialmente reutilizável

Funções

input()
minhaVariavel = input("Digite o valor: ")
print()
print("Vou ser imprimido!")
Entrada & Saída

nome = input("Quem é voce? ")
print("_______________________")
print("Bem vindo à UFC")
print(nome)
saudacao.py
$ python saudacao.py
Quem é voce? Pedro
_______________________
Bem vindo à UFC
Pedro
Entrada & Saída

Usados em strings
Escrever caracteres que não
poderiam ser escritos
ex: ""
Caractere de escape
Caracteres Especiais

Quebra de linha:
TAB Horizontal:
Aspas:
Barra invertida:
...
\n
\t
\" ou \'
\\
Caracteres Especiais

nome = input("Quem é voce? \n")
print("\nBem vindo à \"UFC\"")
print(nome)
IO.py
$ python IO.py
Quem é voce?
Pedro
Bem vindo à "UFC"
Pedro
Entrada & Saída

nome = input("Quem é voce? \n")
print("\nBem vindo à \"UFC\" ", nome)
IO.py
$ python IO.py
Quem é voce?
Pedro
Bem vindo à "UFC" Pedro
Entrada & Saída

str() e int()
a = input("Digite um numero")
b = a + 1 --> ERRO
a = int(a)
b = a + 1 --> OK
Converte dados em string ou inteiro
Entrada & Saída

Manipulam o valor de expressões
+ - x /
Aritméticos
Relacionais
Atributivos
Lógicos
Binários
Operadores

Aritméticos
Adição:
Subtração:
Multiplicação:
Divisão:
Divisão inteira:
Módulo:
Expoente:
+
-
*
/
//
%
**
res = 1 + 2 --> 3
res = 1 - 2 --> -1
res = 3 * 7 --> 21
res = 7 / 3 --> 2.33...
res = 7 // 3 --> 2
res = 7 % 3 --> 1
res = 3 ** 2 --> 9
Operadores

Concatenação
+
a = "Hello"
b = "World"
c = a + b --> "HelloWorld"
print(a + b) --> 'HelloWorld'
print(a + " " + b) --> 'Hello World'
Junta duas strings
Operadores

a = input("Digite um numero")
b = a + 1 --> ERRO
a = int(a)
b = a + 1 --> OK
print("O valor de B é: " + b) --> ERRO
print("O valor de B é: " + str(b) )
b = str(b)
print("O valor de B é: " + b)
Operadores

b = 5
print("O valor de B é: " + b) --> ERRO
print("O valor de B é: ", b) --> Correto
Operadores

Parenteses
( )
a = 4 * 2 + 3 ---> 11
b = (4 * 2) + 3 --> 11
c = 4 * (2 + 3) --> 20
d = 2 * (1 + ( 3 * (7+4) ) ) -->
Define a ordem da execução
dos operadores
68
Operadores

Relacionais
Igualdade:
Desigualdade:
Maior que:
Menor que:
Maior ou igual:
Menor ou igual:
==
!=
>
<
>=
<=
a == b --> False
a != b --> True
a <> b --> True
a > b --> False
a < b --> True
a >= b --> False
a <= a --> True
<>
a = 10
b = 20
Operadores

Atributivos
Atribuição
Atributivos com operações
=
+=
res = 1
a += b --> a = a + b --> a = 30
-=
*=
/=
%=
**=
//=
a = 10 & b = 20
a -= b --> a = a - b --> a = -10
a *= b --> a = a * b --> a = 200
a /= b --> a = a / b --> a = 0.5
Operadores

Lógicos
"E" lógico
and
vdd and mnt --> False
"Ou" lógico
vdd or mnt --> True
"Não" lógico
not vdd --> False
or
not
vdd and mnt --> False
vdd or vdd --> True
not mnt --> True
vdd = True
mnt = False
Operadores

Número 0 (Zero):
String vazia (""):
String de espaço (" "):
Qualquer outro número:
Qualquer coisa que tenha
valor definido:
True
True
True
False
False
Valores Implícitos

not: inverte o valor de algo
not not: inverte duas vezes
mostra o valor booleano de algo
$ python
>>>
>>> not True
False
>>>
>>> not not True
True
>>>
>>> not not 3
True
>>>
Valores Implícitos

Não possuem valor algum
Não afeta a funcionalidade do código
Usados para descrever algo no código
a = input("Digite seu nome")
# Troca as letras 'a' por 'b' e 'c' por 'd'
a.replace('a', 'b')
a.replace('c', 'd')
Boa prática
#
Comentários

Conheceram Python
Criamos variáveis
Números, Strings & Booleanos
Como criar um arquivo .py
Mecanismos de entrada e saída
Manipulação com operadores
Revisão

Fazer aqui!
Exercícios

Link dos exercícios & respostas:
A ser colocado
Receba um número X do usuário
Atividade 1

Imprimir na tela:
X
Metade de X
Dobro de X
Quadrado de X
Raiz Quadrada de X
X elevado à X
X-ésima raiz de X
OBS: Assuma X != 0
Resolver Equação de 1° Grau
Atividade 2

Formato: Ax + B = 0
Recebe do usuário:
Coeficiente A
Coeficiente B
Imprime na tela:
Raiz da equação
OBS: Assumir A != 0
Saudação do futuro
Atividade 3

Recebe do usuário:
Dia do mês
Nome do usuário
Imprime na tela:
"Olá NOME!"
"Hoje é ..."
"Ontem foi ..."
"Amanhã será ..."
OBS:
Assuma:
2 <= Dia <= 30
Tabela Verdade
Atividade 4

Recebe do usuário:
3 Valores Lógicos ( A, B, C )
Legenda
^ = AND v = OR ~ = NOT
A ^ B | A ^ B ^ C | (~A v B) ^ C | A ^ False |
---|---|---|---|
A ^ C | ~A v B | ~A ^ ~B ^ ~C | A ^ ~A |
B v C | ~A v ~C | ~(A v B v C) | A v ~A |
OBS:
1 = True
0 = False
Quantos dias faltam?
Atividade 5

Receber:
Data de hoje (Dia, Mês, Ano separados)
Outra data no futuro
Imprimir quantos dias faltam até lá
OBS:
Assumir meses em números (1 ... 12)
Assumir que todo mês tem 30 dias
Minicurso de Python - Aula 1
By João Batista
Minicurso de Python - Aula 1
- 447