Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Python para Todos, Explorando Dados com Python 3, Esquemas de Programação em Python

A transformação do livro Python for Everybody em Python para Todos é o resultado árduo de um projeto do capítulo sobre Robótica e Automação do IEEEUFCG (RAS IEEE - UFCG), localizado em Campina Grande - Paraíba - Brasil. Secretário da RAS no ano de 2018 e graduando em Engenharia Elétrica pela UFCG, Arthur Carneiro foi o pioneiro a tornar este sonho realidade. Em seus estudos e pesquisas sobre a área, descobriu que Charles Severance, autor do Python for Everybody, é um grande encorajador de qualquer estudante, cientista ou profissional que tope o desafio de traduzir sua obra para outro idioma. Arthur aceitou a missão e recrutou o seu time. Em agosto de 2018, 7 pessoas foram convocadas para cumprir a nobre tarefa de tornar o trabalho de Severance acessível a milhares de leitores da Língua Portuguesa. Yuri Loia, aluno de mestrado, com conhecimento prévio em Python e fluência em inglês, foi nomeado como gerente do projeto.

Tipologia: Esquemas

2023

Compartilhado em 05/10/2023

hugo-simplicio
hugo-simplicio 🇧🇷

2 documentos

1 / 260

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Python para Todos
Explorando Dados com Python 3
Charles R. Severance
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Pré-visualização parcial do texto

Baixe Python para Todos, Explorando Dados com Python 3 e outras Esquemas em PDF para Programação em Python, somente na Docsity!

Python para Todos

Explorando Dados com Python 3

Charles R. Severance

Créditos

Suporte Editorial : Elliott Hauser, Sue Blumenberg Cover Design: Toby Koening Tradução para Português (PT-BR): Antonio Marcos, Alysson Hyago, Andhré Carvalho, Arthur Carneiro, Caio Porto, Debora Nunes, Gabriel Araújo Medeiros, Giovana Oliveira, João Pedro Melquiades, Lara Sobral, Maysa Freire, Natã Macedo, Pyettra Feitosa, Victor Marinho, Vinicius França, Vinicius Formiga, Vitor Araujo, Yuri Loia

Printing History

  • 2020-Jan-08 Tradução completa para o português em Python 3.
  • 2016-Jul-05 Primeira Edição Completa em versão Python 3.
  • 2015-Dec-20 Conversão inicial para Python 3.

Detalhes de Direitos Autorais

Copyright ~2009- Charles Severance.

This work is licensed under a Creative Commons Attribution-NonCommercial- ShareAlike 3.0 Unported License. This license is available at

http://creativecommons.org/licenses/by-nc-sa/3.0/

Você pode ver o que o autor considera como uso comercial e não comercial do tra- balho assim como as excessões da licensa utilizando o apêndice na seção “Detalhes de Direitos Autorais”.

iv

computação. Como alternativa, eles tinham planos de se tornar economistas, ad- vogados, bibliotecários, biólogos, etc., mas que mas que queriam usar habilmente a tecnologia e programação nas suas áreas.

Dentro deste contexto, parecia que não havia um livro de Python orientado à análise de dados que se adequasse perfeitamente ao meu curso, e então decidi es- crever tal livro. Felizmente, em um encontro na faculdade três semanas antes de começar as férias e consequentemente o início deste projeto, o Professor Dr. Atul Prakash me mostrou o livro Think Python que ele havia usado para lecionar a disci- plina naquele semestre. É um livro bem escrito voltado para ciência da computação e focado em explicações breves, diretas e de fácil compreensão.

A estrutura geral do livro foi modificada para que o leitor possa começar a trabalhar com análise de dados o mais rápido possível, além de ter uma série de exemplos e exercícios desde o começo.

Os capítulos 2–10 são parecidos com os do Think Python , mas com grandes mu- danças. Exercícios com orientação aos números foram substituídos com outros exercícios orientados à análise de dados. Os tópicos são apresentados em uma sequência necessária para evoluir a construção de respostas cada vez mais sofisti- cadas. Alguns tópicos como try e except foram colocados mais a frente no capítulo de condicionalidade. Funções são levemente abordadas no início, até o momento em que seja necessário trabalhar com programas de maior nível de complexidade, ao invés de ser uma abstração inicial. Quase todas as funções que necessitam de definição pelo usuário foram removidas dos códigos de exemplos e exercícios que não sejam do capítulo 4. A palavra “recursividade”^1 não está presente neste livro de maneira alguma.

Nos capítulos 1 e 11–16, todo o material apresentado é inédito, com foco em apli- cações no mundo real e exemplos simples do uso de Python para a análise de dados, incluindo expressões comuns para pesquisa e análise, automatizando tarefas do seu computador, programação orientada a objetos, recuperando dados por meio da in- ternet, buscando-os em páginas da web, utilizando serviços online, analise de dados XML e JSON, criando e utilizando uma base de dados de Linguagem de Consulta Estruturada (Strutured Query Language - SQL) e visualizando de dados.

O objetivo final destas mudanças é estabelecer uma modificação do foco em ciên- cia da computação para um voltado para informática, incluindo em uma turma inicial de tecnologia apenas tópicos que possam ser úteis mesmo que os alunos não pretendam se tornar programadores profissionais.

Para aqueles que acharem este livro interessante e tiverem a motivação de explorar além dos limites dele, sugiro que deem uma olhada no livro Think Python do Allen B. Downey. Apesar disso, existem muitas interseções entre os dois livro, e para aqueles que desejam obter habilidades em áreas mais técnicas de programação e construção de algoritmos podem ter acesso a esta informação no livro Think Python. Dado que os livros possuem uma semelhança no estilo de escrita, a transição entre eles deverá ser fácil e rápida, com o mínimo de esforço.

Como proprietário dos direitos autorais do Think Python , Allen me permitiu mod- ificar a licença do material do livro dele para o material herdado neste livro, da licença GNU de Documen-tação Livre para a mais recente licença Creative Com- mons — licença compartilhável semelhante. Isso acarreta em uma mudança geral

(^1) Com exceção, é claro, desta linha.

v

na licença de documentação aberta, trocando de uma GFDL para uma CC-BY- SA (ex., Wikipedia). Utilizar a licença CC-BY-SA mantém a forte tradição de direito de cópia (copyleft) ao mesmo tempo em que o processo de novos autores reutilizarem este material como eles acharem melhor se torna mais direto.

Tenho o sentimento de que este livro servirá como um exemplo do porquê ma- teriais com uma compartilhação mais aberta são tão importantes para o futuro da educação, e também gostaria de agradecer ao Allen B. Downey e a gráfica da universidade de Cambridge pela sua decisão voltada para o futuro de tornar este livro disponível sob direitos autorais abertos. Espero que estejam satisfeitos com o resultado dos meus esforços e que você leitor esteja satisfeito com nossos esforços coletivos.

Gostaria de agradecer a Allen B. Downey e Lauren Cowles pela ajuda, paciência e orientação em lidar com e resolvendo ativamente problemas relacionados aos direitos autorais deste livro.

Charles Severance www.dr-chuck.com Ann Arbor, MI, USA 9 de Setembro 2013

Charles Severance é um professor associado na University of Michigan School of Information.

Contents

  • 1 Por que você deveria aprender a programar?
    • 1.1 Criatividade e motivação
    • 1.2 Arquitetura de hardware de computadores
    • 1.3 Entendendo Programação
    • 1.4 Palavras e Frases
    • 1.5 Conversando com Python
    • 1.6 Terminologia: Interpretador e Compilador
    • 1.7 Escrevendo um Programa
    • 1.8 O que é um programa?
    • 1.9 A Construção de blocos de programas
    • 1.10 O que poderia dar errado?
    • 1.11 Debugging
    • 1.12 A jornada do aprendizado
    • 1.13 Glossário
    • 1.14 Exercícios
  • 2 Variáveis, expressões e declarações
    • 2.1 Valores e tipos
    • 2.2 Variáveis
    • 2.3 Nomes de variáveis e palavras-chave
    • 2.4 Declarações
    • 2.5 Operadores e operandos
    • 2.6 Expressões
    • 2.7 Ordem das operações
    • 2.8 Operador de módulo
    • 2.9 Operações com String
    • 2.10 Requisitando valores ao usuário viii CONTENTS
    • 2.11 Comentários
    • 2.12 Escolhendo nomes de variáveis mnemônicos
    • 2.13 Debugging
    • 2.14 Glossary
    • 2.15 Exercícios
  • 3 Execução condicional
    • 3.1 Expressões booleanas
    • 3.2 Operadores lógicos
    • 3.3 Execução condicional
    • 3.4 Execução alternativa
    • 3.5 Condições encadeadas
    • 3.6 Condições aninhadas
    • 3.7 Tratando exceções usando try e except
    • 3.8 Avaliação de curto-circuito de expressões lógicas
    • 3.9 Debugging
    • 3.10 Glossário
    • 3.11 Exercícios
  • 4 Funções
    • 4.1 Chamadas de Função
    • 4.2 Funções internas
    • 4.3 Funções de conversão de tipo
    • 4.4 Funções matemáticas
    • 4.5 Números Aleatórios
    • 4.6 Adicionando novas funções
    • 4.7 Definições e usos
    • 4.8 Fluxo de Execução
    • 4.9 Parâmetros e argumentos
    • 4.10 Funções frutíferas e funções vazias
    • 4.11 Por que funções?
    • 4.12 Depuração
    • 4.13 Glossário
    • 4.14 Exercícios
  • 5 Iteração CONTENTS ix
    • 5.1 Atualizando Variáveis
    • 5.2 A declaração while
    • 5.3 Laços infinitos
    • 5.4 Finalizando iterações com continue
    • 5.5 Definindo um laço usando for
    • 5.6 Padrões de laço
      • 5.6.1 Contando e somando repetições
      • 5.6.2 Repetições máximas e mínimas
    • 5.7 Debugging
    • 5.8 Glossário
    • 5.9 Exercícios
  • 6 Strings
    • 6.1 String é uma sequência
    • 6.2 Obtendo o comprimento de uma string utilizando len
    • 6.3 Travessia de strings usando laço
    • 6.4 Segmentos de strings
    • 6.5 Strings são imutáveis
    • 6.6 Laços e contagem
    • 6.7 O operador in
    • 6.8 Comparação de strings
    • 6.9 Métodos da String
    • 6.10 Particionando strings
    • 6.11 Operador de Formatação
    • 6.12 Debugging
    • 6.13 Glossário
    • 6.14 Exercícios
  • 7 Arquivos
    • 7.1 Persistência
    • 7.2 Abrindo um arquivo
    • 7.3 Arquivos de texto e linhas
    • 7.4 Lendo arquivos
    • 7.5 Searching through a file
    • 7.6 Deixando o usuário escolher o nome do arquivo x CONTENTS
    • 7.7 Usando try, except, e open
    • 7.8 Escrevendo arquivos
    • 7.9 Debugging
    • 7.10 Glossário
    • 7.11 Exercícios
  • 8 Listas
    • 8.1 Uma lista é uma sequência
    • 8.2 Listas são mutáveis
    • 8.3 Percorrendo uma lista
    • 8.4 Operações com Listas
    • 8.5 Fatiamento de listas
    • 8.6 Métodos para listas
    • 8.7 Apagando elementos
    • 8.8 Listas e funções
    • 8.9 Listas e strings
    • 8.10 Linhas aliadas
    • 8.11 Objetos e valores
    • 8.12 Aliados
    • 8.13 Listas como argumento
    • 8.14 Debugging
    • 8.15 Glossário
    • 8.16 Exercícios
  • 9 Dicionários
    • 9.1 Dicionário como um conjunto de contadores
    • 9.2 Dicionários e Arquivos
    • 9.3 Laços e Dicionários
    • 9.4 Métodos avançados de divisão de texto
    • 9.5 Debugging
    • 9.6 Glossario
    • 9.7 Exercícios
  • 10 Tuplas CONTENTS xi
    • 10.1 As tuplas são imutáveis
    • 10.2 Comparando tuplas
    • 10.3 Atribuição de Tuplas
    • 10.4 Dicionários e tuplas
    • 10.5 Múltipla atribuição com dicionários
    • 10.6 As palavras mais comuns
    • 10.7 Usando tuplas como chaves em dicionários
    • 10.8 Sequências: strings, listas e tuplas - Oh meu Deus!
    • 10.9 Debugging
    • 10.10 Glossário
    • 10.11 Exercícios
  • 11 Expressões Regulares
    • 11.1 Correspondência de caracteres em expressões regulares
    • 11.2 Extraindo dados usando expressões regulares
    • 11.3 Combinando pesquisa e extração
    • 11.4 Caractere de Escape
    • 11.5 Sumário
    • 11.6 Seção bônus para usuários de Unix/Linux
    • 11.7 Depuração
    • 11.8 Glossário
    • 11.9 Exercícios
  • 12 Programas em rede
    • 12.1 HyperText Transfer Protocol - HTTP
    • 12.2 O navegador da internet mais simples do mundo
    • 12.3 Recuperando uma imagem sobre http
    • 12.4 Recuperando páginas da Web com urllib
    • 12.5 Lendo Arquivos Binários Utilizando urllib
    • 12.6 Analisando HTML e Raspando a Web
    • 12.7 Analisando HTML Usando Expressões Regulares
    • 12.8 Análise de HTML usando BeautifulSoup
    • 12.9 Seção bônus para usuários Unix / Linux
    • 12.10 Glossário
    • 12.11 Exercícios
  • 13 Usando serviços da Web xii CONTENTS
    • 13.1 eXtensible Markup Language - XML
    • 13.2 Analisando XML
    • 13.3 Looping através dos nós
    • 13.4 Notação de Objeto JavaScript - JSON
    • 13.5 Analisando JSON
    • 13.6 Interfaces de Programação de Aplicativos
    • 13.7 Segurança e uso de API
    • 13.8 Glossário
    • 13.9 Aplicação 1: Web service de geocódigo do Google
    • 13.10 Aplicação 2: Twitter
  • 14 Programação orientada a objetos
    • 14.1 Gerenciando programas maiores
    • 14.2 Primeiros passos
    • 14.3 Usando objetos
    • 14.4 Iniciando com programas
    • 14.5 Subdividindo um problema
    • 14.6 Nosso primeiro objeto em Python
    • 14.7 Classes como tipos
    • 14.8 Ciclo de vida de um objeto
    • 14.9 Instâncias múltiplas
    • 14.10 Herança
    • 14.11 Sumário
    • 14.12 Glossário
  • 15 Usando Banco de dados e SQL
    • 15.1 O que é um banco de dados?
    • 15.2 Conceitos de Banco de dados
    • 15.3 Navegador de Banco de Dados para SQLite
    • 15.4 Criando uma tabela de banco de dados
      • Estruturada) 15.5 Resumo da Structured Query Language (Linguagem de Consulta
    • 15.6 Rastreando contas no Twitter usando banco de dados
    • 15.7 Modelagem Básica de Dados
    • 15.8 Programando com múltiplas tabelas CONTENTS xiii
      • 15.8.1 Restrições em tabelas do banco de dados
      • 15.8.2 Recuperar e/ou inserir um registro
      • 15.8.3 Storing the friend relationship
    • 15.9 Três tipos de chaves
    • 15.10 Usando JOIN para recuperar dados
    • 15.11 Sumário
    • 15.12 Depurando
    • 15.13 Glossário
  • 16 Visualização de dados
    • 16.1 Construindo um mapa do Google
    • 16.2 Vizualização de redes e interconexões
    • 16.3 Vizualização de dados de e-mail
  • A Contribuições
    • A.1 Lista de Contribuidores do Livro Python para Todos
    • A.2 Lista de Contribuidores do Livro Python for Everybody
    • A.3 Lista de Contribuidores do Livro Python for Informatics
    • A.4 Prefácio de “Think Python”
      • A.4.1 A estranha história de “Think Python”
      • A.4.2 Agradecimentos de “Think Python”
    • A.5 Lista de Contribuidores de “Think Python”
  • B Copyright Detail

xiv CONTENTS

2 CAPÍTULO 1. POR QUE VOCÊ DEVERIA APRENDER A PROGRAMAR?

Por exemplo, leia os três primeiros parágrafos desse capítulo e me diga qual é a palavra mais usada e quantas vezes essa mesma palavra apareceu. Enquanto você era capaz de ler e entender as palavras em poucos segundos, contar o número de vezes que a palavra foi usada é quase que doloroso, pois esse não é o tipo de problema que mentes humanas foram feitas para resolver. Para um computador é o contrário, ler e entender o texto escrito num pedaço de papel é difícil, mas contar as palavras e dizer quantas vezes aquela palavra foi usada é muito fácil:

python words.py Enter file:words.txt de 8

Nosso “assistente pessoal de análises de informação” rapidamente nos diria que a palavra “de” foi usada oito vezes nos três primeiros parágrafos desse capítulo.

Esse mesmo fato de que computadores são bons em coisas que humanos não são é o motivo pelo qual você precisa se tornar hábil em falar a “linguagem computa- cional”. Uma vez que você aprende essa nova linguagem, você pode designar tarefas mundanas para seu parceiro (o computador), sobrando mais tempo para fazer as coisas as quais você é unicamente adequado. Você traz criatividade, intuição e inventividade a essa parceria.

1.1 Criatividade e motivação

Embora este livro não seja destinado a programadores profissionais, a programação profissional pode ser um trabalho muito gratificante, tanto financeiramente quanto pessoalmente. Construir programas úteis, elegantes e inteligentes para os outros usarem é uma atividade que exige muita criatividade. Seu computador ou Personal Digital Assistant (Assistente Pessoal Digital - PDA) geralmente contém diversos programas de diferentes grupos de programadores, cada um competindo por sua atenção e interesse. Eles fazem o melhor para atender às suas necessidades e lhe oferecer uma ótima experiência no processo. Em algumas situações, quando você escolhe um software, os programadores são diretamente compensados por sua escolha.

Se pensarmos nos programas como o resultado da criatividade de grupos de pro- gramadores, talvez a seguinte figura seja uma versão mais sensata de nosso PDA:

Pick Me!

Pick Me!

Pick Me!

Pick Me!

Pick Me!

Buy Me :)

Figure 1.2: Programmers Talking to You

Por enquanto, nossa principal motivação não é ganhar dinheiro ou agradar os usuários finais, mas sim, sermos mais produtivos no manuseio dos dados e das informações que encontraremos em nossas vidas. Quando você começar, você será

1.2. ARQUITETURA DE HARDWARE DE COMPUTADORES 3

o programador e o usuário final de seus programas. À medida que você ganha experiência como programador e a programação lhe parece mais criativa, seus pensamentos podem se voltar ao desenvolvimento de programas para os outros.

1.2 Arquitetura de hardware de computadores

Antes de começarmos a aprender a linguagem que usamos para dar instruções a computadores para o desenvolvimento de software, precisamos saber um pouco sobre como computadores são construídos. Se você por acaso desmontasse seu computador ou celular, encontraria as seguintes partes:

Input and Output Devices

Software

Main Memory

Central Processing Unit

What Next?

Network

Secondary Memory

Figure 1.3: Hardware Architecture

As definições em alto nível dessas partes são as seguintes:

  • A Unidade de Processamento Central (ou CPU) é a parte do computador que é construída para ser obcecada com a pergunta “E agora?”. Se seu computador é avaliado em 3.0 Gigahertz, significa que ele irá perguntar “E agora?” três bilhões de vezes por segundo. Você terá que aprender como falar rápido para acompanhar a CPU.
  • A Memória Principal é utilizada para armazenar informações que a CPU precisa com urgência. Sendo a memória quase tão rápida quanto a CPU. Mas a informação armazenada nessa memória desaparece quando o computador é desligado.
  • A Memória Secundária também é utilizada para armazenar informação, mas é muito mais lenta que a memória principal. A vantagem é que os dados podem ser guardados até quando o computador está desligado. Exemplos de memória secundária são os discos rígidos ou as memórias flash (tipicamente encontrados em dispositivos USB e em reprodutores de música portáteis).
  • Os Dispositivos de Entrada e Saída são simplesmente nosso monitor, teclado, mouse, microfone, alto-falante, touchpad, etc. Eles são todas as maneiras que temos para interagir com o computador.
  • Atualmente, a maioria dos computadores também tem uma Conexão de rede para receber informações de uma rede. Podemos pensar nessa rede como um local muito devagar para armazenar e receber informação que nem sempre

1.4. PALAVRAS E FRASES 5

contá-la é aperfeiçoada quando se escreve e alguém avalia o seu trabalho dando um feedback sobre ele. Na área de programação, o nosso programa é a “história” e o problema que nós estamos querendo solucionar é a “ideia”.

A partir do momento que você aprende uma linguagem de programação como Python, você terá muito mais facilidade em aprender uma segunda linguagem de programação como Javascript ou C++. A nova linguagem poderá ter gramática e vocabulário diferentes, mas as habilidades para resolver problemas serão as mesmas através de todas elas. Você aprenderá o “vocabulário” e as “sentenças” de Python muito rápido. Será mais demorado para você aprender a escrever um programa coerente para solu- cionar um problema novo. Nós ensinamos programação assim como ensinamos a escrever. Nós começaremos lendo e explicando programas, depois nós escrevere- mos programas simples e logo após vamos passar para programas cada vez mais complexos conforme o tempo for passando. Em algum ponto você “pegará o gan- cho” e perceberá padrões por conta própria e verá mais claramente como pegar um problema e escrever um programa que o soluciona. Quando chegar nesse ponto, programar será um processo agradável e criativo. Começaremos com o vocabulário e a estrutura dos programas em Python. Seja paciente, pois os exemplos te lembrarão como foi ler pela primeira vez.

1.4 Palavras e Frases

Ao contrário das línguas humanas, o vocabulário da Python é realmente muito pequeno. Chamamos de “vocabulário” as palavras “reservadas”. Estas são palavras com um significado muito especial para Python. Quando ela as vê em um programa, elas tem um e apenas um significado para Python. Posteriormente, você escreverá programas com suas palavras próprias que chamará de variáveis. Você terá uma grande liberdade na escolha de nomes para as suas variáveis, mas não será possível utilizar as palavras reservadas do Python como um nome para uma variável.

Quando treinarmos um cão, usamos palavras especiais como “senta”, “fica” e “pega”. Quando você fala com um cão e não utiliza alguma destas palavras reser- vadas, eles encaram você com uma reação questionável em seu rosto até que você diga uma palavra reservada. por exemplo, se você diz, “Eu desejo que mais pessoas caminhassem para melhorar sua saúde”, o que a maioria dos cães ouve é, “blah blah blah caminhar blah blah blah blah.” Isso porque “caminhar” é uma palavra reservada na liguagem canina. Muitos podem sugerir que a linguagem entre seres humanos e gatos não tenha palavras reservadas^1.

As palavras reservadas na língua onde os seres humanos falam com Python incluem as seguintes:

and del global not with as elif if or yield assert else import pass (^1) http://xkcd.com/231/

6 CAPÍTULO 1. POR QUE VOCÊ DEVERIA APRENDER A PROGRAMAR?

break except in raise class finally is return continue for lambda try def from nonlocal while

É isto, e ao contrário de um cão, Python já está completamente treinado. Quando você diz “tente”, ele vai tentar toda vez que você falar, sem falhar. Nós iremos aprender essas palavras reservadas e como elas são usadas, mas por ora vamos nos concentrar no equivalente a “falar” Python (na linguagem entre homem e cachorro). A vantagem de pedir a Python para falar, é que podemos até mesmo dizer-lhe o que falar, dando-lhe uma mensagem em citações:

print('Hello world!')

E até escrevemos nossa primeira frase sintaticamente correta em Python. Nossa sentença começa com a palavra reservada print seguido por uma sequência de texto de nossa escolha entre aspas simples. Este conjunto de caracteres pode ser acompanhado de aspas simples ou duplas, sem distinção do funcionamento da função. Entretanto, é interessante utilizar-se de aspas duplas para os casos em que seja necessário utilizar as aspas simples como um apóstrofo.

1.5 Conversando com Python

Agora que nós já conhecemos uma palavra e uma simples sentença em Python, precisamos saber como iniciar uma conversa com ela para testar nossas novas habilidades linguísticas.

Antes de você poder conversar com Python, você deve primeiro instalar o software do Python no seu computador e aprender a como inicializá-lo. Isso possui detalhes demais para este capítulo, então eu sugiro que você consulte www.py4e.com onde eu tenho instruções detalhadas e screencasts sobre configuração e inicialização do Python nos sistemas Macintosh e Windows. Em certo ponto, você vai estar num terminal ou janela de comando e vai digitar python e o interpretador de Python vai começar a executar no modo interativo, onde aparece algo como o seguinte:

Python 3.5.1 (v3.5.1:37a07cee5969, Dec 6 2015, 01 : 54 : 25 ) [MSC v.1900 64 bit (AMD64)] on win Type "help", "copyright", "credits" or "license" for more information.

O >>> prompt é o modo como o interpretador da Python te pergunta, “O que você deseja que eu faça agora?” Ele está pronto para ter uma conversa com você. Tudo o que você tem que saber é como falar a sua linguagem.

Vamos dizer, por exemplo, que você não conheça nem as mais simples palavras ou sentenças da linguagem Python. Você pode querer usar a frase padrão que os astronautas usam quando aterrissam num planeta distante e tentam falar com os habitantes locais::