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

import