Baixe o app para aproveitar ainda mais
Prévia do material em texto
Curso de Licenciatura em Computação Disciplina: Linguagem de Programação I Introdução a Python • Mário Meireles Teixeira Depto. de Informática, UFMA mario@deinf.ufma.br 2018 1 Prof. Mário Meireles UFMA / Licenciatura em Computação – Ling. Programação I Origens de Python • Python foi criada por Guido van Rossum, pesquisador do CWI, na Holanda • Tem suas raízes na linguagem ABC, na qual Rossum trabalhou durante o projeto Amoeba, um famoso SO distribuído da década de 80 • O nome Python tem a ver com o programa de TV britânico ’Monty Python’ e não com cobras… • Versões de Python: q Python 0.9: 1991 q Python 1.0: 1994 q Python 2.0: 2000 q Python 3.0: 2008 2 Prof. Mário Meireles UFMA / Licenciatura em Computação – Ling. Programação I Interpretador de Python 3 • Python possui um shell interativo onde é possível testar os comandos da linguagem e até mesmo escrever programas completos • Nesta disciplina, utilizaremos o Python na versão 3.x, portanto no seu computador deve aparecer algo semelhante a isso: Prof. Mário Meireles UFMA / Licenciatura em Computação – Ling. Programação I Detalhes Internos de Python 4 • Por muitos, Python é considerada uma linguagem de scripts interpre- tada. Na verdade, Python é tanto compilada quanto interpretada q O código-fonte em Python é traduzido para uma linguagem intermediária (bytecode), o qual é executado em uma máquina virtual (PVM = Python Virtual Machine) Código- fonte Bytecode PVM Prof. Mário Meireles UFMA / Licenciatura em Computação – Ling. Programação I Variáveis 5 • Variáveis: q Uma variável é um local nomeado na memória onde um programador pode armazenar dados e, posteriormente, recuperar esses dados pelo nome da variável q Os programadores escolhem os nomes das variáveis q Exemplos: X: 10 110 Y: 14 Prof. Mário Meireles UFMA / Licenciatura em Computação – Ling. Programação I Nomes de Variáveis 6 • Regras para nomes de variáveis (identificadores) em Python: q Deve começar com uma letra [A..Z][a..z] ou underscore _ q Pode conter números, mas não como caracter inicial q Distingue maiúsculas de minúsculas (case sensitive) q Não pode ser uma palavra reservada da linguagem corretos: total acc2 i media arq_notas errados: 23spam #speed eggs.12 não convencionais: spam Spam média Prof. Mário Meireles UFMA / Licenciatura em Computação – Ling. Programação I Palavras Reservadas 7 • Palavras reservadas: q São palavras definidas pela gramática da linguagem, portanto não podem ser usadas como identificadores Prof. Mário Meireles UFMA / Licenciatura em Computação – Ling. Programação I Declaração de Variáveis 8 • Em Python, não é preciso declarar uma variável antes de utilizá-la (ao contrário de C, C++, Java e outras linguagens) • O tipo da variável também é dinâmico, i.e., pode mudar durante a execução do programa: • O Python se encarrega das transformações internas para os diferentes tipos de dados x = 20 # tipo é int x = 2.5 # tipo mudou para float x = ”teste” # agora é string Prof. Mário Meireles UFMA / Licenciatura em Computação – Ling. Programação I Tipos de dados inteiros 9 • Existem 4 tipos de inteiros em Python: q Números decimais o dec = 4321 q Octais o um número prefixado por ”0o” ou ”0O” (zero e ”o” minúsculo ou maiúsculo) o oct_num = 0o10 q Hexadecimais o um número prefixado por ”0x” ou ”0X” o hex_num = 0xAF35 q Binários o um número prefixado por ”0b” ou ”0B” o bin_num = 0b10110011 • Em Python 2, havia dois tipos inteiros: int (p.ex., 20) e long int (p.ex., 238383383L) • Em Python 3, existe apenas um tipo inteiro de tamanho ilimitado Prof. Mário Meireles UFMA / Licenciatura em Computação – Ling. Programação I Atribuição de valores 10 • Instruções de atribuição: q Atribuímos um valor a uma variável usando o comando de atribuição = q Uma declaração de atribuição consiste em uma expressão no lado direito do sinal de igual e uma variável à esquerda para armazenar o resultado: Prof. Mário Meireles UFMA / Licenciatura em Computação – Ling. Programação I Operadores Aritméticos 11 • Os seguintes operadores aritméticos são válidos em Python: Operação Operador Exemplo Adição + 2 + 3 Subtração - 4 - 2 Multiplicação * 3 * 5 Divisão / 5 / 2 Divisão inteira // 5 // 2 Módulo (resto) % 5 % 2 Exponenciação ** 2 ** 4 Prof. Mário Meireles UFMA / Licenciatura em Computação – Ling. Programação I Operadores Aritméticos 12 • Exemplos: Prof. Mário Meireles UFMA / Licenciatura em Computação – Ling. Programação I • Python 2: q divisão de inteiros resulta em inteiro q se um dos operandos for float, o resultado será float Divisão de Inteiros 13 • Python 3: q divisão de inteiros tem como resultado um float q para divisão inteira, use // Prof. Mário Meireles UFMA / Licenciatura em Computação – Ling. Programação I Expressões Numéricas 14 • As expressões contêm uma combinação de números e operadores: delta = b**2 – 4*a*c • Em uma expressão com diferentes operadores, é preciso conhecer a ordem de precedência destes para calcular o valor da expressão: x = x – 7 + 3 * 4 y = 1 + 2 * 3 - 4 / 5 ** 6 Prof. Mário Meireles UFMA / Licenciatura em Computação – Ling. Programação I Precedência de operadores 15 • É a seguinte a ordem de avaliação das expressões algébricas, da maior para a menor precedência: q Parênteses q Exponenciação q Multiplicação e Divisão q Adição e Subtração q Da esquerda para a direita Prof. Mário Meireles UFMA / Licenciatura em Computação – Ling. Programação I Precedência de operadores 16 • Exemplo: • Parênteses podem deixar mais clara a ordem de precedência: x = 1 + (((2**3) / 4) * 5) 1 + 2 ** 3 / 4 * 5 1 + 8 / 4 * 5 1 + 2 * 5 1 + 10 = 11 Prof. Mário Meireles UFMA / Licenciatura em Computação – Ling. Programação I Strings 17 • Ao contrário de C ou C++, Python já possui um tipo str implícito pré-definido • Uma string pode ser colocada entre “ (aspas) ou ‘ (apóstrofos) • Exemplos: Prof. Mário Meireles UFMA / Licenciatura em Computação – Ling. Programação I • Uma string em Python consiste em uma sequência de caracteres, numerados a partir de 0: Strings • Também é possível contar os índices a partir da direita, utilizando -1, -2 e assim por diante: >>> s = "Primeira" >>> s[0] 'P' >>> s[4] 'e' >>> >>> s = "Primeira" >>> s[-1] 'a' >>> s[-2] 'r' >>> Prof. Mário Meireles UFMA / Licenciatura em Computação – Ling. Programação I • Concatenação q Strings podem ser concatenadas usando o operador + : Algumas funções de Strings 19 • Repetição q O operador * faz com que uma string seja repetidamente concatenada: >>> s1 = "Python " >>> s2 = "3" >>> s1 + s2 'Python 3’ >>> >>> s1 = "*-*-" >>> s1*3 '*-*-*-*-*-*-' >>> Prof. Mário Meireles UFMA / Licenciatura em Computação – Ling. Programação I • Indexação • Tamanho (length) Algumas funções de Strings 20 • Fatiamento (slicing) q Substrings podem ser obtidas com a notação [i:j] q a extremidade direita do intervalo não é incluída na substring >>> "Teste"[2] 's' >>> >>> len("Teste") 5 >>> >>> s = "Python" >>> s[1:3] 'yt’ >>> Prof. Mário Meireles UFMA / Licenciaturaem Computação – Ling. Programação I Tipos dinâmicos em Python 21 • Os tipos em Python são implícitos, i.e., não é preciso declarar a variável, como em outras linguagens. Tipos primitivos implícitos: int, float, str • O tipo da variável é inferido pelo interpretador a partir do valor atribuído a ela, sendo dado o tratamento adequado: • O operador + tem comportamento diferente conforme o tipo dos operandos >>> x = 1 + 2 >>> x 3 >>> x = '1' + '2' >>> x '12' >>> x = '12' >>> x = 3 + x TypeError: unsupported... >>> x = 3 + int(x) >>> x 15 >>> x = '12' >>> y = 3 >>> x = y + x TypeError: unsupported... >>> x = str(y) + x >>> x '312' Prof. Mário Meireles UFMA / Licenciatura em Computação – Ling. Programação I • A função input() é usada em Python 3 para entrada de dados pelo teclado, tendo como valor de retorno uma string • Em Python 2, usava-se raw_input() com esta finalidade Entrada de dados 22 >>> nome = input('Qual o seu nome? ') Qual o seu nome? Pedro >>> idade = input('Qual a sua idade? ') Qual a sua idade? 23 >>> nome 'Pedro' >>> idade '23' >>> print(nome + ' tem ' + idade + ' anos.') Pedro tem 23 anos. >>> Prof. Mário Meireles UFMA / Licenciatura em Computação – Ling. Programação I • Para comentar uma linha de texto, use #. Qualquer coisa após este símbolo é ignorada pelo Python: Comentários 23 • Para comentários em múltiplas linhas, coloque entre “”” “”” (três aspas): # Solicita o valor do salário >>> sal = input('Qual o seu salário? ') Qual o seu salário? 1200 >>> sal '1200' >>> float(sal) # Converte para float 1200.0 """ Solicita as horas trabalhadas ... e converte para inteiro """ >>> horas = input('Qual a sua jornada? ') Qual a sua jornada? 40 >>> horas '40' >>> int(horas) 40 >>> Prof. Mário Meireles UFMA / Licenciatura em Computação – Ling. Programação I Material adicional 24 • Leitura do capítulo sobre Conceitos de Python do curso interativo “Como Pensar Como um Cientista da Computação” (https://python.ime.usp.br/pensepy/static/pensepy/02-Conceitos/conceitos.html)
Compartilhar