Prof. Natalia Castro Fernandes
Engenharia de Telecomunicações – UFF
2º semestre/2012
Operações básicas
+
/
*
** ou pow(a,b)
%
=
==, !=, <, >, <=, >=
or, and, not
Valor dos operadores
10/3
10.0/3
10/3.0
10%3
10.0%3
A = ‘casa’ e B = ‘teste’. A+B=?
Variáveis
São nomes dados a áreas de memória
Nomes compostos de algarismos,letras ou _
O primeiro caractere não pode ser um algarismo
Palavras reservadas (if, while, etc) são proibidas
Funcionalidades:
Guardar valores intermediários
Criar estruturas de dados
Uma variável é modificada usando o comando de
atribuição:
Var = expressão
var1,var2,...,varN = expr1,expr2,...,exprN
Exercício
Qual o resultado:
a=1
b=2
a, b = 2*a,b
a=1
b=2
a,b=b,a
Tipos de variáveis
O tipo da variável não é explicitamente definido em
Python!
Exemplo: Crie uma string contendo a palavra ‘teste’
Comportamento de variáveis
Variáveis
Criadas dinamicamente
Destruídas automaticamente quando não mais
necessárias
Tipo da variável muda conforme valor atribuído
A = ‘Casa’ #A é uma string
Comentários são colocados
com o uso do #
A+1 #Gera erro
A = 1 #Agora A passou a ser um inteiro
A+1 #Resulta em 2
Tipos de variáveis
Tipos primitivos
Embutidos na linguagem
Tipos
Simples
int
Números inteiros de precisão fixa (1 palavra=32 bits)
Exemplos: 1 , -2 , 25
Representação em hexadecimal:
a=0xab
Em decimal, a=171
Representação em octal:
a=030
Em decimal, a = 24
Tipos de variáveis
long
Números inteiros de precisão arbitrária (Tantas palavras
quanto for necessário)
Exemplos: 1L , 10000L , -9999999L
float
Números racionais de precisão variável (2 palavras)
Exemplos: 1.043, 123e14, 2e5
Uso de ‘e’ ou ‘E’ representando potência de 10
2e2 equivale a 200
Tipos de variáveis
complex
Números complexos
Exemplos: 1+1j , 20j , 1000+100J
Pode-se usar j ou J, mas sempre com um número na frente
A=j erro
A=1j Número complexo
Tipos de variáveis
String
Sequência de caracteres
Exemplos: ‘casa’, “casa”
Pode-se usar ‘’ ou “” indistintamente
A representação de um caractere ou de uma string é feita de
forma indistinta
Operações
+ Concatenação
* Repetição
“a”*3 = “aaa”
Tipos de variáveis
Caracteres especiais que não são impressos são
representados com a barra invertida (\)
\n = new line
\r = carriage return
\t = tab
\b = backspace
\\ = \
Qual o resultado das seguintes operações? Por quê?
>>> “ab\rd”
>>> print “ab\rd”
>>> print “abc\td”
>>> print “abc\nd”
>>> print “abc\\nd”
>>> print “ab\bc”
Tipos de variáveis
Strings podem ser escritas em várias linhas
A = “A minha frase de exemplo \
pode ser muito longa, \
de tal forma que eu prefira \
escrevê-la em várias linhas.”
A = ‘‘‘ A minha frase de exemplo
pode ser muito longa,
de tal forma que eu prefira
escrevê-la em várias linhas.’’’
A = “““A minha frase de exemplo
pode ser muito longa,
de tal forma que eu prefira
escrevê-la em várias linhas.”””
Tipos de variáveis
Índices de strings
Primeiro caractere com índice 0
Último caractere com índice -1
Exemplo:
A=‘teste’
A[0]=‘t’
A[4]=‘e’
A[-1]=‘e’
Trechos de strings
Incluso
Excluso
Representação: A[início:fim]
Omitir início ou fim significa trecho a partir do inicio ou até o
fim
Tipos de variáveis
Exemplos
>>> a = 'abcde‘
>>> a[0:2]
'ab'
>>> a [2:]
'cde'
>>> a[:]
'abcde'
>>> a[-1:]
'e'
>>> a[:-1]
'abcd'
Tipos de variáveis
Tipos primitivos
Simples
Compostos
Listas
Dicionários
Tuplas
Conjuntos
Definidos pelo usuário
Classes
Veremos tipos compostos e
definidos pelo usuário mais
a frente.
Expressões booleanas
Usadas como condições
If e laços (for e while)
Resultam True ou False
True e False são palavras especiais de Python (lembrar de
usar letra maiúscula)
True = qualquer valor não nulo
False = 0
Avaliação feita da esquerda para a direita
Resultado retornado tão logo seja possível
Expressões booleanas
O operador or retorna o primeiro operando se esse for
verdadeiro
Caso contrário retorna o segundo
O operador and retorna o primeiro operando se for falso
Caso contrário retorna o segundo
Ordem de avaliação
Operadores relacionais
not
and
or (último a ser avaliado)
Expressões booleanas
Exercício: Qual o resultado?
•
•
•
•
•
•
•
•
•
•
1==1
1==2
1==1 or 1==2
1==1 and 1==2
1<2 and 2<3
not 1<2
not 1<2 or 2<3
not (1<2 or 2<3)
‘alo’ and 1
“alo” or 1
Funções embutidas
Funções disponíveis para o programador por padrão
Exemplos
abs(x) – Valor absoluto de x
int(x) – Converte x para inteiro
long(x) - Convert x para inteiro longo
float(x) – Converte x para ponto flutuante
complex(re,im) – Cria número complexo com parte real
re e parte imaginária im
round(x) - Arredonda o valor de x
Módulos
Módulo
Arquivo definindo:
Funções
Variáveis
Classes
Biblioteca padrão é dividida em módulos
Exemplo
Módulo math Funções matemáticas como seno e cosseno,
variáveis como o pi, etc.
Nome do módulo = nome do arquivo sem o ‘.py’
Qualquer script que você crie pode ser visto como um módulo
Módulos
Utilização de módulos
Comando import
Uso:
import modulo
from modulo import nome,...,nome
from modulo import *
Exemplo
Crie o script fibo.py com o seguinte código
# Fibonacci numbers module
def fib(n): # write Fibonacci series up to n
a, b = 0, 1
while b < n:
print b,
a, b = b, a+b
def fib2(n): # return Fibonacci series up to n
result = []
a, b = 0, 1
while b < n:
result.append(b)
a, b = b, a+b
return result
Exemplo
Entre no interpretador e digite:
>>> import fibo
>>> fibo.fib(1000)
>>> fibo.fib2(100)
Importando módulos
import modulo
Importa o módulo completo.
Exemplo
import math
math.cos(0.67)
Usa o nome do módulo
na frente da função
from modulo import *
Importa o módulo completo
Exemplo
from math import *
cos(0.67)
Usa a função diretamente
Importando módulos
from modulo import função1, função2
Importa apenas funções especificadas
Exemplo
from math import cos
cos(0.67)
Usa a função diretamente
Criando o seu próprio código
Voltando ao exemplo do Fibonacci (fibo.py)
# Fibonacci numbers module
Comentário
Definição de uma função
def fib(n): # write Fibonacci series up to n
Atribuição de valores a variáveis
a, b = 0, 1
Laço com expressão booleana
while b < n:
print b,
Bloco a ser repetido
a, b = b, a+b
Indentação
Criando o seu próprio código
Função principal
Tudo o que está fora das definições de função
Contudo, é mais formal usar o seguinte:
if __name__ == "__main__":
Permite criar um script e um módulo importável ao mesmo
tempo
Organiza melhor o código
Criando o seu próprio código
Comando condicional ‘if’
Uso
if expressao:
comandos
if expressao:
comandos1
else:
comandos2
if expressao1:
comandos1
elif expressao2:
comandos2
else:
comandos(N)
Tipo 1: Se, então faça
Tipo 2: Se, então faça.
Senão, faça.
elif pode ser repetido várias vezes
Tipo 3: Se, então faça.
Senão, se, então faça.
Senão, faça.
elif else if
Criando o seu próprio código
Exemplo:
a = input("Entre com um numero:")
if a < 0:
print a," é negativo“
elif (a==0):
print a, “ é zero”
else :
print a, “ é positivo”
print "Obrigado!"
Criando o seu próprio código
Laço while
Uso
while (expressão):
Executa enquanto expressão for True
Atenção: Pode criar loops infinitos!!
Ex:
A=1
B=1
while (A==1):
B= B+1
print B
Criando o seu próprio código
Função print
Escrever texto na tela sem pular de linha
Uso
print “texto1”, “texto2”, variável1, “texto3”
Resultado: texto1 texto2 1 texto3
Se o comando terminar com vírgula, o próximo print
continua da mesma linha
Ex:
print “texto1”,
print “texto2”
Resultado: texto1 texto2
Criando o seu próprio código
Função input
Recebe dados da linha de comando
Uso: input(“Texto qq”)
Exemplo:
A=input(“Digite a sua idade”)
print A
Espera até o usuário
digitar alguma coisa
Observação: strings só podem ser recebidas com o input
se forem colocadas entre ‘’ ou “”
Função raw_input
Interpreta qualquer entrada como string
Não precisa de ‘’ ou “”
Criando o seu próprio código
Exercício
Faça um programa que peça do usuário um número e
escreva na tela se ele é primo ou não.
Transforme o seu programa em uma função e crie um
módulo.
Importe o seu módulo e mostre o uso da sua função.