Aula 03
Aula 03
✓ Fundamentos Básicos;
✓ Variáveis e Funções;
✓ Ciclos e Arrays;
Python é uma linguagem de programação poderosa, popular e de fácil aprendizado. Foi criado por Guido van
Rossum e lançado em 1991. Ela possui estruturas de dados de alto-nível eficientes, bem como uma abordagem
simples e efectiva para a programação orientada a objetos. Sua sintaxe é elegante e dinâmica, em adição à sua
natureza interpretada, tornam Python ideal para scripting e para o desenvolvimento rápido de aplicações em
diversas áreas e na maioria das plataformas.
O interpretador de Python e sua extensa biblioteca padrão estão disponíveis na forma de código fonte ou
binário para a maioria das plataformas a partir do site, http://www.python.org/, e deve ser distribuídos
livremente. No mesmo sítio estão disponíveis distribuições e referências para diversos módulos, programas,
ferramentas e documentação adicional contribuídos por terceiros.
• O Python funciona em diferentes plataformas (Windows, Mac, Linux, Raspberry Pi, etc).
• O Python possui uma sintaxe simples semelhante ao idioma inglês.
• O Python possui uma sintaxe que permite aos desenvolvedores escrever programas com menos linhas do que
algumas outras linguagens de programação.
• O Python é executado em um sistema de intérprete, o que significa que o código pode ser executado assim que é
escrito. Isso significa que a prototipagem pode ser muito rápida.
• O Python pode ser tratado de maneira processual, orientada a objetos ou funcional.
COMPILAÇÃO E INTERPRETAÇÃO
Sempre que um programa Python é chamado, o Python checará se existe uma versão compilada com
a extensão .pyc - este arquivo deve ser mais novo do que o de extensão .py (se o arquivo existir). O
Python vai carregar o bytecode, o que vai acelerar o script. Senão existir a versão bytecode, o Python
criará o arquivo bytecode antes de iniciar a execução do programa. Execução de um programa Python
significa a execução de um código bytecode na Python Virtual Machine
VARIÁVEIS
Basicamente, uma variável é um tipo de dado armazenado em computador. Chama-se variável pois o valor
contido nesse espaço de memória do computador varia com o tempo, não é um valor fixo. Como bem
sabemos, nosso computador utiliza memória RAM para armazenar dados temporários e essa memória é
utilizada também pelos nossos programas.
a = 3; #a recebe o valor 3
b = a * 2; #b recebe o dobro do valor de a
c = a + b + 2; #c recebe 11
print (c)
TIPOS DE VARIÁVEIS
Existem 5 tipos:
inteiro (int)
ponto flutuante (float)
booleano (bool)
complexo (complex)
String (str)
Mesmo os tipos não sendo declarados explicitamente, eles sempre irão assumir um tipo de dado, abaixo,
exemplos de retornos de tipos:
Tipo Inteiro Tipo Ponto Flutuante Tipo Ponto Booleano Tipo Ponto Complexo Tipo String
>>> a = 1 >>> b = 2*4/6 >>> c = True >>> d = 4+3j>>> >>> e = “Joao”
>>> type(a) >>> type(b) >>> type(c) type(d) >>> type(e)
<class 'int'> <class 'float'> <class ‘bool'> <class ‘complex'> <class ‘str'>
CRIAÇÃO DE VARIÁVEIS
Ao contrário de outras linguagens de programação, o Python não possui comando para declarar uma variável.
Uma variável é criada no momento em que você atribui um valor a ela pela primeira vez.
x = 5
y = "João"
print(x)
print(y)
As variáveis não precisam ser declaradas com nenhum tipo específico e podem até mudar o tipo depois de
serem definidas.
x = 4 # x é do tipo inteiro
x = "Sara" # x agora é do tipo string
print(x)
Regras para variáveis do Python:
Você também pode usar o caractere + para adicionar uma variável a outra variável:
x = “O meu nome é " x = 3 x = “Carlos”
y = “Carlos" y = 5 y = 5
print(x + y) print(x + y) print(x + y)#erro
Números em Python
Existem três tipos numéricos no Python:
• int
• flutuante
• complexo
x = 1 # int
y = 2.8 # float
z = 1j # complex
x = 1 x = 1.10 x = 3+5j
y = y = 35e3 y = 5j
35656222554887711 z = -35.59 z = -5j
z = -3255522
print(type(x)) print(type(x))
print(type(x)) print(type(y)) print(type(y))
print(type(y)) print(type(z)) print(type(z))
print(type(z))
Strings em Python
String = sequência de caracteres em Python são cercados por aspas simples ou aspas duplas.
'olá' é o mesmo que "olá"
Como muitas outras linguagens de programação populares, strings no Python são matrizes de bytes
representando caracteres Unicode. No entanto, o Python não tem um tipo de dados de caractere, um único
caractere é simplesmente uma string com um comprimento de 1.
#Isto é um comentário
print(“Oi, Mundo!")
Comentários podem ser usados para explicar o código Python, para tornar o código mais legível e para impedir
a execução ao testar o código.
Comentários também podem ser colocados no final de uma linha e o Python ignorará o resto da linha:
OU
int() - constrói um número inteiro a partir de um inteiro, float (arredondando para baixo para o número inteiro
anterior), ou uma string (fornecendo a string representa um número inteiro)
str() - constrói uma string a partir de uma ampla variedade de tipos de dados, incluindo strings, inteiros e float
FLUTUANTES COMPLEXOS
INTEIROS
x = float(1) # x será 1.0 x = str("s1") # x será 's1'
x = int(1) # x será 1
y = float(2.8) # y será 2.8 y = str(2) # y será '2'
y = int(2.8) # y será 2
z = float("3") # z será 3.0 z = str(3.0) # z será '3.0'
z = int("3") # z será 3
w = float("4.2") # w será 4.2
INTRODUÇÃO AOS OPERADORES
O Python além de ser uma excelente linguagem para a construção de aplicações de forma geral, também é, uma
excelente linguagem para ser utilizada junto com a matemática, como por exemplo, para gerar relatórios, gráficos,
estatísticas e etc.
Actualmente, temos diversas bibliotecas matemáticas que podem ser utilizadas, o Python esta em diversos sistemas de
estatísticas para compra e venda de ações, neurociência e muitas outras áreas relacionadas a pesquisa e análise de
informações.
OPERADORES MATEMÁTICOS
O Python pode ser utilizado como uma calculadora matemática avançada. Praticamente, todos os operadores
aritméticos funcionam da mesma forma como os conhecemos da matemática elementar.
x += 1 x = x + 1
x -= 1 x = x - 1
x *= 1 x = x * 1
x /= 1 x = x / 1
x **= 1 x = x ** 1
OPERADORES RELACIONAIS
Operador Relacional é todo operador que obtém a relação do membro a esquerda com o membro a sua direita.
É comum na programação A necessidade de conhecer a relação entre diversos operandos para que então, o nosso
programa assuma determinada característica, ou invoque alguma funcionalidade. A linguagem Python trabalha com os
operadores relacionais, também chamados de operadores comparativos, da mesma forma que a maioria das outras
linguagens, tais como C, C++, Java, C# e etc.
Descrição Operador
Maior que >
Menor que <
Igual a ==
Maior ou igual a >=
Menor ou igual a <=
Diferente !=
OPERADORES LÓGICOS
Os operadores lógicos unem expressões lógicas formando assim, uma nova expressão que é composta por 2 ou mais
sub-expressões. O resultado lógico de expressões compostas será a relação entre as sub-expressões. Toda expressão
lógica avaliada resultará num valor lógico e a relação entre vários valores lógicos é um outro valor lógico.
Descrição Operador
e and
ou or
não not
#AND
Se uma das condicoes for falsa, o resultado sera FALSE
True + False = False
False + False = False
True + True = True
#OR
Se uma das condicoes for true, o resultado sera TRUE
True + False = True
False + False = False
True + True = True
CONDIÇÕES EM PYTHON
O Python suporta as condições lógicas usuais da matemática.
Essas condições podem ser usadas de várias maneiras, mais comumente em "instruções if" e loops.
a = 33
b = 200
if b > a: print("b é maior que a")
a = 33 a = 33
b = 200 b = 200
if b > a: if b > a:
print("b é maior que a") print("b é maior que a")
#erro, nao colocar o print na
cadeia de if
A palavra-chave elif é maneira de dizer "se as condições anteriores não eram verdadeiras, então tente esta condição".
a = 33
b = 33
if b > a:
print("b é maior que a")
elif a == b:
print("a e b são iguais")
A palavra-chave else captura qualquer coisa que não seja detectada pelas condições anteriores.
a = 200 a = 200
b = 33 b = 33
if b > a: if b > a:
print("b é maior que a") print("b é maior que a")
else: elif a == b:
print("a é maior que b") print("a e b são iguais")
else:
print("a é maior que b")
ENCURTADOR
Se tiver apenas uma instrução para executar, poderá colocá-la na mesma linha da instrução if.
if a > b: print("a é maior que b")
Se tiver apenas uma instrução para executar, uma para if e outra para else, pode colocar tudo na mesma linha:
print("A") if a > b else print("B")
Se tiver apenas uma instrução para executar, uma para if e outra para else, pode colocar tudo na mesma linha:
if a > b or a > c:
print(“Uma das condições é verdadeira")
LISTAS E TUPLAS
Em aulas anteriores vimos que variáveis servem para guardar informações, podem ser estas: números, textos, porém
faltou um tipo de dados para guardar, um conjunto de informações (lista).
Ao escolher um tipo de coleção, é útil entender as propriedades desse tipo. Escolher o tipo certo para um determinado
conjunto de dados pode significar retenção de significado e pode significar um aumento na eficiência ou segurança.
OPERAÇÕES BÁSICAS EM LISTAS
Para determinar quantos itens uma lista possui, use o len() método:
fruta = [“maçã", "banana", “laranja"]
print(len(fruta))
ADICIONAR EM LISTAS
Para adicionar um item numa determinada posição lista, use o método insert () :
fruta = [“maçã", "banana", “laranja"]
fruta.insert(1, “papaia")
print(fruta)
REMOÇÃO EM LISTAS
O pop() método remove o índice especificado (ou o último item, se o índice não for especificado):
fruta = [“maçã", "banana", “laranja"]
fruta.pop()
fruta.pop(2) #índex-1
print(fruta)
REMOÇÃO EM LISTAS
Para determinar quantos itens uma tupla possui, use o len() método:
fruta = (“maçã", "banana", “laranja“)
print(len(fruta))
Uma vez que uma tupla é criada, não pode-se adicionar ou removes itens.
As tuplas são imutáveis .
Para adicionar um item numa determinada posição lista, use o método insert () :
fruta = [“maçã", "banana", “laranja"]
fruta.insert(1, “papaia")
print(fruta)
Com o while podemos executar um conjunto de instruções enquanto uma condição é verdadeira.
Nota: lembre-se de incrementar i, senão o loop continuará para sempre.
i = 1
while i < 6:
print(i)
i += 1
Com a instrução break, podemos parar o Com a instrução continue, podemos parar
loop mesmo se a condição while for a iteração atual e continuar com a
verdadeira: próxima:
i = 1 i = 0
while i < 6: while i < 6:
print(i) i += 1
if i == 3: if i == 3:
break continue
i += 1 print(i)
Um for é utilizado para a iteração através de uma sequência (isto é, quer uma lista, um tuplo, um dicionário, de um
conjunto, ou uma cadeia).
Isso é menos semelhante à palavra-chave for em outras linguagens de programação e funciona mais como um método
iterador, conforme encontrado em outras linguagens de programação orientadas a objeto.
Com o loop for, podemos executar um conjunto de instruções, uma vez para cada item em uma lista, tupla, conjunto etc.
Saia do loop quando xé "banana": Para percorrer um conjunto de códigos um número especificado de vezes, podemos usar a
função range(), que retorna uma sequência de números, iniciando em 0 por padrão e
for x in fruits: incrementa em 1 (por padrão) e termina em um número especificado.
print(x)
if x == "banana": for x in range(6): for x in range(2, 6):
break print(x) print(x)
Você pode passar dados, conhecidos como parâmetros, para uma função.
def my_function():
print(“Oi de uma funcao")
Para chamar uma função, use o nome da Informações podem ser passadas para funções como parâmetro. Os
função seguido de parênteses: parâmetros são especificados após o nome da função, dentro dos parênteses.
Você pode adicionar quantos parâmetros quiser, apenas separá-los com uma
def my_function(): vírgula.
print(“Oi de uma funcao")
def my_function(pnome):
my_function() print(pnome + " Antonio")
my_function("Emanuel")
Você pode enviar qualquer tipo de parâmetro de dados para uma função (string, número, lista, dicionário etc.) e será
tratado como o mesmo tipo de dados dentro da função.
Por exemplo, se você enviar uma lista como um parâmetro, ela ainda será uma lista quando atingir a função:
def my_function(food):
for x in food:
print(x)
my_function(fruits)
Para permitir que uma função retorne um valor, use a return instrução:
def my_function(x):
return 5 * x
print(my_function(3))
print(my_function(5))
print(my_function(9))
POO EM PYTHON
Python é uma linguagem de programação orientada a objetos.
class Pessoa:
idade = 5
p1 = Pessoa()
print(p1.idade)
Para entender o significado das classes, precisamos entender a função interna __init __ ().
Todas as classes têm uma função chamada __init __ (), que é sempre executada quando a classe está sendo iniciada.
Use a função __init __ () para atribuir valores a propriedades de objeto ou outras operações necessárias para fazer
quando o objeto estiver sendo criado:
class Pessoa:
def __init__(self, nome, idade):
self.nome = nome
self.idade = idade
p1 = Pessoa(“Joao”, 36)
print(p1.nome)
print(p1.idade)
Objetos também podem conter métodos. Métodos em objetos são funções que pertencem ao objeto.
class Pessoa:
def imprimirNome(self):
print(“Oi chamo me “ + self.nome)
p1 = Pessoa(“Joao”, 36)
p1.imprimirNome()
O self parâmetro é uma referência à instância atual da classe e é usado para acessar variáveis que pertencem à classe.
Ele não precisa ser nomeado self, você pode chamá-lo como quiser, mas tem que ser o primeiro parâmetro de qualquer
função na classe:
class Pessoa:
def __init__(meuobjeto, nome, idade):
meuobjeto.nome = nome
meuobjeto.idade = idade
def imprimirNome(abc):
print(“Oi Chamo me” + abc.nome)
p1 = Pessoa(“Joao”, 36)
p1.imprimirNome()
p1.idade = 40
del p1.idade
del p1
FIM Computação