prof. natalia castro fernandes engenharia de telecomunicações – uff 2º semestre/2012
TRANSCRIPT
Conceitos básicos
Prof. Natalia Castro FernandesEngenharia de Telecomunicações – UFF
2º semestre/2012
Operações básicas+-/*** ou pow(a,b)%===, !=, <, >, <=, >=or, and, not
Valor dos operadores10/310.0/310/3.010%310.0%3A = ‘casa’ e B = ‘teste’. A+B=?
VariáveisSão nomes dados a áreas de memória
Nomes compostos de algarismos,letras ou _O primeiro caractere não pode ser um algarismoPalavras reservadas (if, while, etc) são proibidas
Funcionalidades:Guardar valores intermediáriosCriar estruturas de dados
Uma variável é modificada usando o comando de atribuição:Var = expressãovar1,var2,...,varN = expr1,expr2,...,exprN
ExercícioQual o resultado:
a=1b=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áveisVariáveis
Criadas dinamicamenteDestruídas automaticamente quando não mais
necessáriasTipo da variável muda conforme valor
atribuídoA = ‘Casa’ #A é uma stringA+1 #Gera erroA = 1 #Agora A passou a ser um inteiroA+1 #Resulta em 2
Comentários são colocados com o uso
do #
Tipos de variáveisTipos primitivos
Embutidos na linguagemTipos
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 frenteA=j erroA=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 -1Exemplo:
A=‘teste’A[0]=‘t’A[4]=‘e’A[-1]=‘e’
Trechos de stringsRepresentação: A[início:fim]Omitir início ou fim significa trecho a partir do inicio
ou até o fim
InclusoExcluso
Tipos de variáveisExemplos>>> a = 'abcde‘>>> a[0:2]'ab'
>>> a [2:]'cde'>>> a[:]'abcde'>>> a[-1:]'e'>>> a[:-1]'abcd'
Tipos de variáveisTipos primitivos
Simples Compostos
Listas Dicionários Tuplas Conjuntos
Definidos pelo usuárioClasses
Veremos tipos compostos e definidos
pelo usuário mais a frente.
Expressões booleanasUsadas 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 nuloFalse = 0
Avaliação feita da esquerda para a direitaResultado retornado tão logo seja possível
Expressões booleanasO operador or retorna o primeiro operando se
esse for verdadeiroCaso contrário retorna o segundo
O operador and retorna o primeiro operando se for falsoCaso contrário retorna o segundo
Ordem de avaliaçãoOperadores relacionais notandor (último a ser avaliado)
Expressões booleanasExercí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 embutidasFunções disponíveis para o programador por
padrãoExemplos
abs(x) – Valor absoluto de xint(x) – Converte x para inteirolong(x) - Convert x para inteiro longofloat(x) – Converte x para ponto flutuantecomplex(re,im) – Cria número complexo com
parte real re e parte imaginária imround(x) - Arredonda o valor de x
MódulosMódulo
Arquivo definindo: Funções Variáveis Classes
Biblioteca padrão é dividida em módulosExemplo
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ódulosUtilização de módulos
Comando importUso:
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
ExemploEntre no interpretador e digite:
>>> import fibo
>>> fibo.fib(1000)
>>> fibo.fib2(100)
Importando módulosimport modulo
Importa o módulo completo.Exemplo
import mathmath.cos(0.67)
from modulo import *Importa o módulo completoExemplo
from math import *cos(0.67)
Usa o nome do módulo na frente da função
Usa a função diretamente
Importando módulosfrom modulo import função1, função2
Importa apenas funções especificadasExemplo
from math import coscos(0.67)
Usa a função diretamente
Criando o seu próprio códigoVoltando ao exemplo do Fibonacci (fibo.py)
# 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
Comentário
Definição de uma função
Atribuição de valores a variáveis
Laço com expressão booleana
Bloco a ser repetido
Indentação
Criando o seu próprio códigoFunção principal
Tudo o que está fora das definições de funçãoContudo, é 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ódigoComando 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.
Tipo 3: Se, então faça. Senão, se, então faça. Senão, faça.elif else if
elif pode ser repetido várias vezes
Criando o seu próprio códigoExemplo:
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ódigoLaço while
Uso while (expressão):
Executa enquanto expressão for TrueAtenção: Pode criar loops infinitos!!
Ex: A=1 B=1 while (A==1):
B= B+1 print B
Criando o seu próprio códigoFunção print
Escrever texto na tela sem pular de linhaUso
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ódigoFunção input
Recebe dados da linha de comandoUso: input(“Texto qq”)Exemplo:
A=input(“Digite a sua idade”)print A
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 “”
Espera até o usuário digitar alguma coisa
Criando o seu próprio códigoExercí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.