Conceitos bsicos Prof Natalia Castro Fernandes Engenharia de
Conceitos básicos Prof. Natalia Castro Fernandes Engenharia de Telecomunicações – UFF 2º semestre/2012
Valor dos operadores � 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 �var 1, var 2, . . . , var. N = expr 1, expr 2, . . . , expr. N
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=0 xab � 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: 1 L , 10000 L , -9999999 L � float � Números racionais de precisão variável (2 palavras) � Exemplos: 1. 043, 123 e 14, 2 e 5 � Uso de ‘e’ ou ‘E’ representando potência de 10 � 2 e 2 equivale a 200
Tipos de variáveis � complex � Números complexos � Exemplos: 1+1 j , 20 j , 1000+100 J � Pode-se usar j ou J, mas sempre com um número na frente � A=j erro � A=1 j 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ê? >>> “abrd” >>> print “abctd” >>> print “abcnd” >>> print “abc\nd” >>> print “abbc”
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 � Representação: Incluso Excluso 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 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 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 fib 2(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. fib 2(100)
Importando módulos �import modulo �Importa o módulo completo. �Exemplo import 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ção 1, função 2 �Importa apenas funções especificadas �Exemplo from math import 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 2 else: � Tipo 2: Se, então faça. Senão, faça. elif pode ser repetido várias vezes comandos 1 elif expressao 2: � � comandos 2 if expressao 1: � � comandos 1 else: � � comandos Tipo 1: Se, então faça comandos(N) 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 “texto 1”, “texto 2”, variável 1, “texto 3” � Resultado: texto 1 texto 2 1 texto 3 �Se o comando terminar com vírgula, o próximo print continua da mesma linha � Ex: � print “texto 1”, print “texto 2” � Resultado: texto 1 texto 2
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.
- Slides: 34