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 = 10Nome
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 ---> Inteiro5.5 ---> Ponto Flutuante0 ---> Inteiro-7 ---> Inteiro3.0 ---> Ponto Flutuante-9.5 ---> Ponto FlutuanteVariá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 --> ERROa = int(a)b = a + 1 --> OKConverte 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 --> 3res = 1 - 2 --> -1res = 3 * 7 --> 21res = 7 / 3 --> 2.33...res = 7 // 3 --> 2res = 7 % 3 --> 1res = 3 ** 2 --> 9Operadores
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 --> ERROa = int(a)b = a + 1 --> OKprint("O valor de B é: " + b) --> ERROprint("O valor de B é: " + str(b) )b = str(b)print("O valor de B é: " + b)Operadores
b = 5print("O valor de B é: " + b) --> ERROprint("O valor de B é: ", b) --> CorretoOperadores
Parenteses
( )
a = 4 * 2 + 3 ---> 11b = (4 * 2) + 3 --> 11c = 4 * (2 + 3) --> 20d = 2 * (1 + ( 3 * (7+4) ) ) --> Define a ordem da execução
dos operadores
68Operadores
Relacionais
Igualdade:
Desigualdade:
Maior que:
Menor que:
Maior ou igual:
Menor ou igual:
==
!=
>
<
>=
<=
a == b --> Falsea != b --> Truea <> b --> Truea > b --> Falsea < b --> Truea >= b --> Falsea <= a --> True<>
a = 10
b = 20Operadores
Atributivos
Atribuição
Atributivos com operações
=
+=
res = 1a += b --> a = a + b --> a = 30-=
*=
/=
%=
**=
//=
a = 10 & b = 20a -= b --> a = a - b --> a = -10a *= b --> a = a * b --> a = 200a /= 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 --> Falseor
not
vdd and mnt --> Falsevdd or vdd --> Truenot mnt --> Truevdd = True
mnt = FalseOperadores
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
- 451