






Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Aprenda Python de forma fácil, dicas e instruções com explicações fáceis de aprender.
Tipologia: Resumos
1 / 11
Esta página não é visível na pré-visualização
Não perca as partes importantes!







Nos exemplos seguintes, pode-se distinguir entrada e saída pela presença ou ausência dos prompts (>>> e …): para repetir o exemplo, você deve digitar tudo após o prompt, quando o mesmo aparece; linhas que não começarem com um prompt são na verdade as saídas geradas pelo interpretador. Observe que quando aparece uma linha contendo apenas o prompt secundário você deve digitar uma linha em branco; é assim que se encerra um comando de múltiplas linhas. Muitos dos exemplos neste manual, até mesmo aqueles digitados interativamente, incluem comentários. Comentários em Python são iniciados pelo caractere #, e se estendem até o final da linha física. Um comentário pode aparecer no início da linha, depois de um espaço em branco ou código, mas nunca dentro de uma string literal. O caractere # em uma string literal não passa de um caractere #. Uma vez que os comentários são usados apenas para explicar o código e não são interpretados pelo Python, eles podem ser omitidos ao digitar os exemplos. Alguns exemplos:
Vamos experimentar alguns comandos simples em Python. Inicie o interpretador e aguarde o prompt primário, >>>. (Não deve demorar muito.)
O interpretador funciona como uma calculadora bem simples: você pode digitar uma expressão e o resultado será apresentado. A sintaxe de expressões é a usual: operadores +, - , * e / funcionam da mesma forma que em outras linguagens tradicionais (por exemplo, Pascal ou C); parênteses (()) podem ser usados para agrupar expressões. Por exemplo: # this is the first comment spam = 1 _# and this is the second comment
text = "# This is not a comment because it's inside quotes." >>> 2 + 2 4 >>> 50 - 5 * 6 20 >>> ( 50 - 5 * 6 ) / 4
>>> 8 / 5 # division always returns a floating point number
>>>
Os números inteiros (ex. 2 , 4 , 20 ) são do tipo int, aqueles com parte fracionária (ex. 5.0, 1.6) são do tipo float. Veremos mais sobre tipos numéricos posteriormente neste tutorial. Divisão (/) sempre retorna ponto flutuante (float). Para fazer uma divisão pelo piso e receber um inteiro como resultado (descartando a parte fracionária) você pode usar o operador //; para calcular o resto você pode usar o %: Com Python, podemos usar o operador ** para calcular potências [ 1 ]: O sinal de igual ('=') é usado para atribuir um valor a uma variável. Depois de uma atribuição, nenhum resultado é exibido antes do próximo prompt: Se uma variável não é “definida” (não tem um valor atribuído), tentar utilizá-la gerará um erro: Há suporte completo para ponto flutuante ( float ); operadores com operandos de diferentes tipos convertem o inteiro para ponto flutuante: No modo interativo, o valor da última expressão exibida é atribuída a variável _. Assim, ao utilizar Python como uma calculadora, fica mais fácil prosseguir com os cálculos, por >>> 17 / 3 # classic division returns a float
>>> >>> 17 // 3 # floor division discards the fractional part 5 >>> 17 % 3 # the % operator returns the remainder of the division 2 >>> 5 * 3 + 2 # result * divisor + remainder 17 >>> >>> 5 ** 2 # 5 squared 25 >>> 2 ** 7 # 2 to the power of 7 128 >>> >>> width = 20 >>> height = 5 * 9 >>> width * height 900 >>> >>> n # try to access an undefined variable Traceback (most recent call last): File "", line 1 , in NameError: name 'n' is not defined >>> >>> 4 * 3.75 - 1
>>>
Se não quiseres que os caracteres sejam precedidos por \ para serem interpretados como caracteres especiais, poderás usar strings raw (N.d.T: “crua” ou sem processamento de caracteres de escape) adicionando um r antes da primeira aspa: As strings literais podem abranger várias linhas. Uma maneira é usar as aspas triplas: """...""" ou '''...'''. O fim das linhas é incluído automaticamente na string, mas é possível evitar isso adicionando uma \ no final. O seguinte exemplo: produz a seguinte saída (observe que a linha inicial não está incluída): Usage: thingy [OPTIONS] -h Display this usage message -H hostname Hostname to connect to Strings podem ser concatenadas (coladas) com o operador +, e repetidas com *: Duas ou mais strings literais (ou seja, entre aspas) ao lado da outra são automaticamente concatenados. Esse recurso é particularmente útil quando você quer quebrar strings longas: '"Isn't," they said.' >>> print('"Isn ' t," they said.') "Isn't," they said. >>> s = 'First line. \n Second line.' # \n means newline >>> s # without print(), \n is included in the output 'First line.\nSecond line.' >>> print(s) # with print(), \n produces a new line First line. Second line. >>> print('C:\some \n ame') # here \n means newline! C:\some ame >>> print(r'C:\some\name') # note the r before the quote C:\some\name >>> print(""" ** Usage: thingy [OPTIONS] -h Display this usage message -H hostname Hostname to connect to """) >>> # 3 times 'un', followed by 'ium' >>> 3 * 'un' + 'ium' 'unununium' >>> >>> 'Py' 'thon' 'Python' >>>
Isso só funciona com duas strings literais, não com variáveis ou expressões: Se você quiser concatenar variáveis ou uma variável e uma literal, use +: As strings podem ser indexadas (subscritas), com o primeiro caractere como índice 0. Não existe um tipo específico para caracteres; um caractere é simplesmente uma string cujo tamanho é 1: Índices também podem ser números negativos para iniciar a contagem pela direita: Note que dado que -0 é o mesmo que 0, índices negativos começam em -1. Além da indexação, o fatiamento também é permitido. Embora a indexação seja usada para obter caracteres individuais, fatiar permite que você obtenha substring: >>> text = ('Put several strings within parentheses ' ... 'to have them joined together.') >>> text 'Put several strings within parentheses to have them joined together.' >>> >>> prefix = 'Py' >>> prefix 'thon' # can't concatenate a variable and a string literal File "", line 1 prefix 'thon' ^ SyntaxError: invalid syntax >>> ('un' * 3 ) 'ium' File "", line 1 ('un' * 3 ) 'ium' ^ SyntaxError: invalid syntax >>> >>> prefix + 'thon' 'Python' >>> >>> word = 'Python' >>> word[ 0 ] # character in position 0 'P' >>> word[ 5 ] # character in position 5 'n' >>> >>> word[- 1 ] # last character 'n' >>> word[- 2 ] # second-last character 'o' >>> word[- 6 ] 'P' >>> >>> word[ 0 : 2 ] # characters from position 0 (included) to 2 (excluded) 'Py' >>>
As strings do Python não podem ser alteradas — uma string é imutável. Portanto, atribuir a uma posição indexada na sequência resulta em um erro: Se você precisar de uma string diferente, deverá criar uma nova: A função embutida len() devolve o comprimento de uma string: Ver também: Tipo sequência de texto — str As strings são exemplos de tipos de sequências e suportam as operações comumente suportadas por esses tipos. Métodos de string As strings suportam uma grande quantidade de métodos para transformações básicas e busca. Literais de string formatados Strings literais que possuem expressões embutidas. Sintaxe das strings de formato Informações sobre formatação de string com o método str.format(). Formatação de String no Formato printf-style As antigas operações de formatação invocadas quando as strings são o operando esquerdo do operador % são descritas com mais detalhes aqui. >>> word[ 4 : 42 ] 'on' >>> word[ 42 :] '' >>> >>> word[ 0 ] = 'J' Traceback (most recent call last): File "", line 1 , in TypeError: 'str' object does not support item assignment >>> word[ 2 :] = 'py' Traceback (most recent call last): File "", line 1 , in TypeError: 'str' object does not support item assignment >>> >>> 'J' + word[ 1 :] 'Jython' >>> word[: 2 ] + 'py' 'Pypy' >>> >>> s = 'supercalifragilisticexpialidocious' >>> len(s) 34 >>>
Python inclui diversas estruturas de dados compostas , usadas para agrupar outros valores. A mais versátil é list (lista), que pode ser escrita como uma lista de valores (itens) separados por vírgula, entre colchetes. Os valores contidos na lista não precisam ser todos do mesmo tipo. Como strings (e todos os tipos embutidos de sequência), listas pode ser indexados e fatiados: Todas as operações de fatiamento devolvem uma nova lista contendo os elementos solicitados. Isso significa que o seguinte fatiamento devolve uma cópia rasa da lista: As listas também suportam operações como concatenação: Diferentemente de strings, que são imutáveis, listas são mutáveis, ou seja, é possível alterar elementos individuais de uma lista: Você também pode adicionar novos itens no final da lista, usando o método append() (estudaremos mais a respeito dos métodos posteriormente): >>> squares = [ 1 , 4 , 9 , 16 , 25 ] >>> squares [1, 4, 9, 16, 25] >>> >>> squares[ 0 ] # indexing returns the item 1 >>> squares[- 1 ] 25 >>> squares[- 3 :] # slicing returns a new list [9, 16, 25] >>> >>> squares[:] [1, 4, 9, 16, 25] >>> >>> squares + [ 36 , 49 , 64 , 81 , 100 ] [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] >>> >>> cubes = [ 1 , 8 , 27 , 65 , 125 ] # something's wrong here >>> 4 ** 3 # the cube of 4 is 64, not 65! 64 >>> cubes[ 3 ] = 64 # replace the wrong value >>> cubes [1, 8, 27, 64, 125] >>> >>> cubes.append( 216 ) # add the cube of 6 >>> cubes.append( 7 ** 3 ) # and the cube of 7 >>> cubes >>>
Este exemplo introduz diversas características ainda não mencionadas. A primeira linha contém uma atribuição múltipla: as variáveis a e b recebem simultaneamente os novos valores 0 e 1. Na última linha há outro exemplo de atribuição múltipla demonstrando que expressões do lado direito são sempre avaliadas primeiro, antes da atribuição. As expressões do lado direito são avaliadas da esquerda para a direita. O laço de repetição while executa enquanto a condição (aqui: a < 10 ) permanece verdadeira. Em Python, como em C, qualquer valor inteiro que não seja zero é considerado verdadeiro; zero é considerado falso. A condição pode também ser uma cadeia de caracteres ou uma lista, ou qualquer sequência; qualquer coisa com um tamanho maior que zero é verdadeiro, enquanto sequências vazias são falsas. O teste usado no exemplo é uma comparação simples. Os operadores padrões de comparação são os mesmos de C: < (menor que), > (maior que), == (igual), <= (menor ou igual), >= (maior ou igual) e != (diferente). O corpo do laço é indentado : indentação em Python é a maneira de agrupar comandos em blocos. No console interativo padrão você terá que digitar tab ou espaços para indentar cada linha. Na prática você vai preparar scripts Python mais complicados em um editor de texto; a maioria dos editores de texto tem facilidades de indentação automática. Quando um comando composto é digitado interativamente, deve ser finalizado por uma linha em branco (já que o interpretador não tem como adivinhar qual é a última linha do comando). Observe que toda linha de um mesmo bloco de comandos deve ter a mesma indentação. A função print() escreve o valor dos argumentos fornecidos. É diferente de apenas escrever a expressão no interpretador (como fizemos anteriormente nos exemplos da calculadora) pela forma como lida com múltiplos argumentos, quantidades de ponto flutuante e strings. As strings são impressas sem aspas, e um espaço é inserido entre os itens, assim você pode formatar bem o resultado, dessa forma: O argumento end pode ser usado para evitar uma nova linha após a saída ou finalizar a saída com uma string diferente:
>>> i = 256 * 256 >>> print('The value of i is', i) The value of i is 65536 >>> >>> a, b = 0 , 1 >>>
Notas de rodapé Uma vez que ** tem precedência mais alta que - , -32 será interpretado como -(32) e assim resultará em -9. Para evitar isso e obter 9 , você pode usar (-3)**2. Ao contrário de outras linguagens, caracteres especiais como \n têm o mesmo significado com as aspas simples ('...') e duplas ("..."). A única diferença entre as duas é que, dentro de aspas simples, você não precisa escapar o " (mas você deve escapar a ') e vice-versa. >>> while a < 1000 : ... print(a, end=',') ... a, b = b, a+b ... 0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,