Definição
Estrutura básica de um programa em Python, conceitos básicos, tipos de dados e variáveis, operadores em Python, tipos de operadores e relações de precedência, entrada e saída de dados em Python, formas de entrada e saída de dados, com suas peculiaridades.
PROPÓSITO
Codificar programas básicos em Python, utilizando corretamente os tipos de dados, variáveis, operadores e as formas de entrada e saída de dados.
Preparação
Antes de iniciar o conteúdo deste tema, instale em seu computador a versão Python 3.7.1. Busque um tutorial sobre Instalação do Interpretador Python 3 e a IDE PyCharm.
OBJETIVOS
Módulo 1
Identificar a linguagem Python, seus tipos de dados e variáveis
Módulo 2
Reconhecer os operadores e suas relações de precedência na linguagem Python
Módulo 3
Descrever as formas de entrada e saída de dados na linguagem Python
Introdução
Nos últimos anos, a programação tem recebido atenção especial na formação profissional. Muitas escolas de Educação Básica (ensinos Fundamental e Médio) estão introduzindo disciplinas que ensinam os conceitos básicos de programação. Para que o estudante realmente consiga codificar programas, e estes sejam executados por um computador, é necessário que alguma linguagem de programação seja utilizada.
Dentre as diversas linguagens de programação que existem, Python é considerada uma das principais. Recentemente, a IEEE Computer Society classificou-a como a linguagem mais indicada para aprender em 2020. Isto se deve à sua eficiência no desenvolvimento de machine learning, inteligência artificial, ciência, gestão e análise de dados.
MÓDULO 1
Identificar a linguagem Python, seus tipos de dados e variáveis
machine learning
É uma tecnologia na qual os computadores têm a capacidade de aprender de acordo com as respostas esperadas por meio de associações de diferentes dados, os quais podem ser imagens, números e tudo que essa tecnologia possa identificar. Machine learning é o termo em inglês para a tecnologia conhecida no Brasil como aprendizado de máquina.
(IBM, 2020)
Introdução
A linguagem Python tem se tornado uma das mais populares nos últimos anos, contando com uma comunidade atuante de desenvolvedores. Python é considerada uma linguagem de fácil aprendizado e que permite desenvolver aplicações voltadas para a web.
Algumas de suas principais características são ser portável e escalável, além de suportar integração com os principais sistemas de bancos de dados e poder ser utilizado para desenvolver scripts que interagem com outros programas.
Conceitos
Python é uma linguagem de programação de alto nível, que permite que o programador utilize instruções de forma intuitiva, tornando seu aprendizado mais simples do que o aprendizado de uma linguagem de baixo nível.
Nas linguagens de baixo nível, o programador precisa se expressar de forma muito mais próxima do que o dispositivo entende, o que leva naturalmente a um distanciamento da linguagem que é utilizada para comunicação entre duas pessoas.
Saiba mais
Pela sua simplicidade de aprendizado e por permitir que o programador se expresse de forma mais próxima da que ele utiliza normalmente para se comunicar, Python tem sido utilizado em diversos cursos universitários como a primeira linguagem com que os alunos têm contato ao programar.
Em Python, existem os tipos numéricos
Fique tranquilo, porque os tipos serão detalhados daqui a pouco.
Agora, vamos utilizar o Python Console, na IDE PyCharm, para ter nosso primeiro contato com a programação em Python. Vamos lá?
No prompt interativo >>>, digite a expressão algébrica
Observe o resultado:
Saiba mais
O Python Console permite que você calcule expressões algébricas como uma calculadora, além de executar instruções básicas em Python.
O TIPO int
É o tipo para manipular números inteiros. Fazendo uma analogia com a matemática, o tipo int é usado para elementos do conjunto dos inteiros (ℤ).
Diferentemente de outras linguagens, como C ou Java, Python não limita o tamanho de uma variável de qualquer tipo. Então, não existe um valor inteiro máximo definido em Python. O limite depende da quantidade de memória disponível no computador.
De volta ao Python Console, veja algumas coisas interessantes.
No prompt interativo >>>, digite
O operador (*) é da multiplicação. Assim, a sua calculadora disponível no Python Console faz os produtos com este operador.
Agora, digite
Atenção
Python permite que você utilize o underline (_) como separador de milhar. Isso ajuda a visualizar números com muitos dígitos.
Para encerrarmos este primeiro contato com o tipo
Observe que a função type(parâmetro) informa o tipo do parâmetro.
O TIPO float
É o tipo para manipular números com parte inteira e parte decimal, chamados
de números de ponto flutuante. Fazendo uma analogia com a matemática, o tipo float é
usado para elementos do conjunto dos reais (ℝ)
Para diferenciar um número real de um inteiro, é possível utilizar a parte decimal zerada. No prompt interativo >>>, digite
Atenção
Vale ressaltar que devemos usar o ponto para separar a parte inteira da parte decimal, e não a vírgula.
No prompt, digite
Ao usar a vírgula como separador em Python, o que ocorre, na verdade, é a criação de uma tupla de
dois elementos. E não o tipo
Embora os tipos
Observe a figura a seguir:
Vamos analisar a exponenciação. Para realizar esta operação matemática, utilizamos o operador (**). Veja a figura a seguir:
Veja que, basta que a base seja
Atenção
Diferentemente de outras linguagens, como C, a divisão de dois números inteiros não necessariamente tem resultado inteiro.
Digite
Para obter o quociente inteiro e o resto, quando dois inteiros são divididos, é necessário utilizar os operadores // e %, respectivamente. Ao dividir 21 por 2, temos quociente 10 e resto 1. Observe a figura a seguir:
Tomando os devidos cuidados, os tipos
O TIPO bool
Uma expressão algébrica, como vimos nos exemplos dos tipos
No prompt interativo >>>, digite a expressão
Observe o resultado:
Repare que o resultado desta expressão não é um número, mas, sim, a palavra True. Caso você colocasse a expressão
As expressões que você viu nos dois exemplos acima são chamadas de expressões booleanas. Elas são expressões que podem ser avaliadas como um dos dois valores booleanos: True ou False. Em Python, existe o tipo
Vamos ver o operador not agora. Ele é um operador unário, ou seja, só precisa de um operando. Este operador inverte o valor booleano. Se o valor original for True, not(valor) terá o valor False. E vice-versa.
No prompt interativo >>>, digite a expressão
Atenção
É possível também escrever expressões booleanas compostas, utilizando conectivos como o E e o OU. Vamos ver maiores detalhes destas expressões no próximo módulo.
Strings
Além dos tipos
Para manipular textos, por exemplo, existe o tipo de string chamado str. Em uma variável deste tipo str , é possível armazenar letras, números, espaços, pontuação e diversos símbolos.
No prompt interativo >>>, digite
Observe o resultado:
Como só existe um valor no prompt, ele é avaliado como ele mesmo, assim como a expressão
Mas, veja que interessante! No prompt interativo >>>, digite
Houve a junção das duas sequências de caracteres em uma só. Ou seja, a expressão
Para delimitar uma string, podemos utilizar:
- Aspas simples: ‘uma string’
- Aspas duplas: “uma string”
- Aspas simples triplas: ‘’’uma string’’’
- Aspas duplas triplas: “””uma string”””
Existem alguns métodos interessantes para tratar strings em Python. Entre eles, ressaltamos:
upper
Transforma todas as letras em maiúsculas.
lower
Transforma todas as letras em minúsculas.
split
Quebra a string em substrings.
Veja os exemplos a seguir:
A lista gerada com o método split() tem três elementos, porque a string original tinha três palavras.
Com isso, vimos os primeiros conceitos dos tipos
Variáveis e atribuição
Ao estudarmos Matemática ao longo da Educação Básica, fomos ensinados a utilizar as variáveis como nomes de determinado valor. Ao escrever x = 10, estamos dando o valor 10 à variável x. Ao programar, é possível manter esta interpretação e ainda mais. Podemos entender que o valor 10 poderá ser recuperado posteriormente, bastando utilizar a variável x em uma expressão.
Atenção
Em Python, o operador de atribuição é o = (símbolo de igual). A instrução x = 10 atribui o valor 10 à variável x.
No prompt interativo >>>, digite
Observe que o retorno do Python Console foi 10.
Atenção
Ao avaliar uma expressão que contenha uma variável, o valor da variável é utilizado para o cálculo do resultado da expressão.
Digite
Observe que a variável y agora tem o valor 20, que é o resultado da multiplicação de 2 por 10 (valor de x).
Em Python, não é necessário declarar uma variável antes de utilizá-la. Basta atribuir um valor inicial à variável e utilizá-la dali em diante. Justamente por não haver uma declaração inicial da variável, o tipo é vinculado ao valor atribuído a ela.
Observe a figura a seguir:
Inicialmente, o valor 20.0 é atribuído à variável a. Assim, o seu tipo é
Embora não seja necessário declarar uma variável para utilizá-la, não é possível utilizar uma variável que não tenha recebido alguma atribuição de valor. No prompt interativo, digite
Veja que a mensagem de erro informa que o nome b não foi definido. Ou seja, não é possível determinar o valor atribuído a este nome.
Python também permite a atribuição múltipla, ou seja, mais de uma variável receber atribuição na mesma linha. Veja o exemplo a seguir:
Nomes de variáveis
Os nomes das variáveis podem ser compostos por letras, o underline (_) e, exceção do primeiro caractere, números de 0 a 9.
Veja os exemplos:
minhaVariavel, _variavel, salario1 e salario1_2
são válidos.
1variavel e salario-1
não são válidos.
minhaVariavel e minhavariavel
são nomes de duas variáveis distintas.
Atenção
Mesmo que seja um nome permitido, nem sempre um nome é bom para uma variável. Tente utilizar nomes que ajudem a entender o significado da variável, para ganhar tempo na hora de entender o código posteriormente. Por exemplo: salario é um nome de variável melhor que s.
Constantes
Em Python, não existe o conceito de constante. Se você precisar de uma constante ao longo de sua jornada como programador, atribua o valor a uma variável e tome cuidado para não mudar este valor.
Dica
Uma dica é iniciar o nome desta variável com c_, o que vai diferenciar esta variável das outras. Por exemplo, é possível utilizar a expressão
Conversões de tipos
Quando temos tipos diferentes envolvidos na mesma expressão, o Python converte implicitamente cada, operando para o tipo mais abrangente envolvido nesta expressão.
Estamos usando a palavra abrangente, mas poderíamos falar que existem tipos que englobam (ou contêm) outros.
Exemplo
Por exemplo: um número do tipo
Assim, a expressão
Uma conversão implícita não intuitiva é dos valores booleanos True e False em inteiros, respectivamente, 1 e 0. Veja os exemplos a seguir:
Com isso, podemos perceber a seguinte relação entre os tipos
Além das conversões implícitas, o programador também pode usar as conversões explícitas, quando ele força que o valor seja tratado como de determinado tipo. Para isto, é necessário usar o construtor do tipo desejado, com o valor passado como parâmetro (entre parênteses).
Veja os exemplos a seguir:
Atenção
O int 2 pode ser tratado naturalmente como o float 2.0, basta acrescentar a parte decimal nula. Porém, ao tentar tratar um float como int, ocorre a remoção da parte decimal. Fique atento, porque não é uma aproximação para o inteiro mais próximo, e sim o truncamento.
Utilitários e módulos
O utilitário dir apresenta todos os atributos e métodos disponíveis para determinado tipo de dado. No prompt interativo >>>, digite
O utilitário help apresenta a documentação relativa a determinado tipo de dado.
Caso você tenha alguma dúvida sobre o que é possível fazer com determinado tipo, os utilitários dir e help podem ser úteis.
Como vimos na explicação sobre operadores, Python disponibiliza os operadores matemáticos básicos. Porém, é comum precisarmos de outras operações matemáticas, como raiz quadrada ou funções trigonométricas. Para estas operações mais particulares, é possível utilizar o módulo math.
Para utilizar, basta que no prompt interativo >>>, você digite
O módulo math tem as seguintes funções, entre outras:
Função | Descrição |
---|---|
sqrt(x) | Raiz quadrada de x |
ceil(x) | Menor inteiro maior ou igual a x |
floor(x) | Maior inteiro menor ou igual a x |
cos(x) | Cosseno de x |
sin(x) | Seno de x |
log(x, b) | Logaritmo de x na base b |
Pi | Valor de Pi (3.141592...) |
E | Valor de e (2.718281...) |
Atenção
É importante saber que a utilização das funções do módulo math deve ser sempre chamada com o nome do módulo antes do nome da função, como
Outro módulo matemático que pode ser útil em Python é o fractions. Ele permite o tratamento de frações a partir do numerador e do denominador (inteiros). Para utilizar, basta que no prompt interativo >>>, você digite
Assim, é possível criar objetos da classe Fractions da seguinte maneira:
Observe que a variável a NÃO é tratada como o float 0.4. Isto permite que sejam armazenadas frações com limite muito maior que o existente para variáveis do tipo float, uma vez que o tipo inteiro só é limitado pela memória disponível no computador.
Resumo
No vídeo a seguir o professor apresentará um resumo dos principais conceitos abordados no módulo 1. Assista:
Verificando o aprendizado
ATENÇÃO!
Para desbloquear o próximo módulo, é necessário que você responda corretamente a uma das seguintes questões:
O conteúdo ainda não acabou.
Clique aqui e retorne para saber como desbloquear.
MÓDULO 2
Reconhecer os operadores e suas relações de precedência na linguagem Python
Introdução
Neste módulo, você vai conhecer os principais operadores utilizados em Python, bem como as relações de precedência existentes entre eles. Já vimos no módulo anterior os tipos iniciais de dados em Python, o que nos permite, agora, entender como as variáveis destes tipos podem ser manipuladas. Os operadores que a linguagem disponibiliza para os programadores nos possibilitam realizar esta manipulação.
Conceitos
Os operadores podem ser divididos em matemáticos, booleanos, de strings e de indexação. Vamos analisar cada um destes grupos com mais detalhes a seguir.
Operadores matemáticos
Os operadores matemáticos são muito semelhantes àqueles que aprendemos ao longo de nossa jornada como estudantes, aprendendo Álgebra e Aritmética na escola. Existem algumas pequenas diferenças, como a divisão (que pode ser a usual ou a divisão inteira), mas é possível identificar operações que fizemos ao longo de toda nossa vida. A tabela a seguir lista os operadores de expressão aritmética disponíveis em Python.
Operação matemática | Símbolo usado | Exemplo | |
---|---|---|---|
Equação | Resultado | ||
Soma | + | 2.5 + 1.3 | 3.8 |
Subtração | - | 2.5 - 1.3 | 1.2 |
Multiplicação | * | 2.5 * 1.3 | 3.25 |
Divisão | / | 2.5/1.3 | 1.923076923076923 |
Divisão inteira | // | 9/2 | 4 |
Resto na divisão inteira | % | 9%2 | 1 |
Valor absoluto | abs(parâmetro) | abs(-2.5) | 2.5 |
Exponenciação | ** | 2**4 | 16 |
Ao escrever uma expressão algébrica, o programador pode utilizar a precedência de operadores existente em Python (implícita) ou explicitar a ordem que ele deseja que a expressão seja avaliada.
Por exemplo, a expressão 3 + 2 * 5 tem como resultado 25 ou 13?
Resposta
Aprendemos no ensino fundamental que as operações de produto e divisão têm precedência sobre as operações de soma e subtração. Ou seja, um produto será realizado antes de uma soma, na mesma expressão. Assim, a expressão acima tem como resultado 13. Isto ocorre sempre que não forem explicitadas outras relações de precedência, com o uso de parênteses. Caso o programador quisesse forçar que a soma ocorresse primeiro, ele deveria escrever assim:
Além das operações algébricas, é possível realizar operações de comparação. Os operadores de comparação têm como resultado um valor booleano (True ou False).
Símbolo usado | Descrição |
---|---|
< | Menor que |
<= | Menor ou igual a |
> | Maior que |
>= | Maior ou igual a |
== | Igual |
!= | Não igual |
Atenção
Cabe observar que o operador utilizado para comparar se dois valores são iguais é o ==, ou seja, duplo sinal de igual. Tome cuidado para não confundir com o operador de atribuição, que é o sinal de igual apenas uma vez (=).
Existe uma outra lista de operadores que executam operações matemáticas, mas além disso atualizam o valor da variável utilizada. Eles são chamados de operadores compostos. Por exemplo, veja a imagem a seguir:
A variável x inicialmente recebeu o valor 10. Em seguida, a instrução x = x + 1, que causa estranheza quando lembramos da Matemática que aprendemos ao longo da vida, é muito comum quando estamos programando. Esta instrução significa “acrescente uma unidade ao valor de x e guarde este resultado na própria variável x”. Como x valia 10, o resultado do lado direito do operador (=) é 11. Este resultado é, então, armazenado na própria variável x.
Esta operação de acrescentar determinado valor a uma variável e armazenar o resultado na própria variável poderia ser feita com o operador += (mais igual). Veja a imagem a seguir:
Na tabela a seguir, estão os operadores compostos disponíveis em Python. Considere a variável x com o valor inicial 10, para verificar os resultados.
Nome | Símbolo usado | Exemplo | |
---|---|---|---|
Instrução | Resultado | ||
Mais igual | += | x += 2 | x passa a valer 12 |
Menos igual | -= | x -= 2 | x passa a valer 8 |
Vezes igual | *= | x *= 2 | x passa a valer 20 |
Dividido igual | /= | x /= 2 | x passa a valer 5 |
Módulo igual | %= | x %= 3 | x passa a valer 1 |
Operadores booleanos
Relembrando
As expressões booleanas são aquelas que podem ter como resultado um dos valores booleanos: True ou False.
É comum utilizarmos os operadores de comparação em expressões booleanas, mas não só eles. Assim como é possível escrever expressões algébricas complexas concatenando diversas expressões menores, podemos escrever expressões booleanas grandes, com os operadores and, or e not. Observe o comportamento de cada um dos operadores booleanos nas tabelas a seguir.
p | not (p) |
---|---|
True | False |
False | True |
p | q | p and q |
---|---|---|
True | True | True |
True | False | False |
False | True | False |
False | False | False |
p | q | p or q |
---|---|---|
True | True | True |
True | False | True |
False | True | True |
False | False | False |
Operadores de String
É possível processar texto utilizando os operadores de String disponibilizados em Python. De forma muito parecida com o que conhecemos nas operações numéricas, temos os operadores de comparação e mais, como soma e multiplicação.
Exemplo
Por exemplo, o operador == verifica se as strings dos dois lados são iguais. Porém, os operadores < e > comparam as strings usando a ordem do dicionário.
A tabela a seguir traz um pequeno conjunto dos operadores disponíveis em Python para manipulação de strings. Lembre-se de que você pode utilizar o utilitário help no Python Console, para verificar a lista completa. Para isto, basta digitar
Uso | Descrição |
---|---|
x in s | True se x for um subconjunto de s |
x not in s | False se x for um subconjunto de s |
s + t | Concatenação das strings s e t |
n*s | Concatenação de n cópias da string s |
s[i] | Caractere de índice i na string s |
len(s) | Comprimento da string s |
Operador de indexação
É possível acessar individualmente um caractere de uma string. Para isto, utilizamos o operador de indexação.
Relembrando
Lembre-se de que a string é uma sequência de caracteres. Começando pelo primeiro caractere, que ganha o índice 0, os caracteres seguintes ganham um índice incremental.
Considere a seguinte instrução:
A indexação ocorre como na tabela a seguir:
P | r | o | g | r | a | m | a |
---|---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Com isso, temos:
S | Programa |
---|---|
s[0] | P |
s[1] | r |
s[2] | o |
s[3] | g |
s[4] | r |
s[5] | a |
s[6] | m |
s[7] | a |
Precedência de operadores
A tabela a seguir traz as relações de precedência entre os operadores, com as linhas mais altas tendo prioridade sobre as linhas mais baixas. Isto é, elas ocorrem primeiro. Dentro da mesma linha, a precedência é da esquerda para a direita.
Operador | Descrição |
---|---|
[expressões ...] | Definição de lista |
x[], x[índice : índice] | Operador de indexação |
** | Exponenciação |
+x, -x | Sinal de positivo e negativo |
*, /, //, % | Produto, divisão, divisão inteira, resto |
+, - | Soma, subtração |
in, not in, <, <=, >, >=, <>, !=, == | Comparações, inclusive a ocorrência em listas |
not x | Booleano NOT (não) |
and | Booleano AND (e) |
or | Booleano OR (ou) |
Atenção
É importante ficar atento ao uso correto dos operadores, respeitando a precedência entre eles, para evitar que algum cálculo seja realizado corretamente, mas com resultado diferente do esperado por você ao programar.
Resumo
No vídeo a seguir o professor apresentará um resumo dos principais conceitos abordados no módulo 2. Assista:
Verificando o aprendizado
ATENÇÃO!
Para desbloquear o próximo módulo, é necessário que você responda corretamente a uma das seguintes questões:
O conteúdo ainda não acabou.
Clique aqui e retorne para saber como desbloquear.
MÓDULO 3
Descrever as formas de entrada e saída de dados na linguagem Python
Introdução
Até agora, você conheceu conceitos básicos de Python (tipos de dados, operadores e precedência) e utilizou apenas o Python Console. Neste módulo, você vai escrever seu primeiro programa em Python, utilizando o que aprendeu até aqui e, também, as formas de entrada e saída de dados que a linguagem oferece.
Conceitos
Para escrever um programa em Python, será essencial utilizar as formas de saída de dados, para exibir ao usuário mensagens e resultados de operações. Caso você deseje que o usuário informe algum dado para que seu programa processe, será necessário utilizar as formas de entrada de dados.
Para criar seu primeiro programa, clique com o botão direito do mouse no nome do projeto, na guia de navegação do lado esquerdo. Em seguida, escolha a opção New > File.
Atribua um nome ao seu arquivo. Neste primeiro exemplo, vamos chamar de primeiro_programa.py
Ao nomear o arquivo, será aberta uma nova aba, do lado direito, com o espaço para que você efetivamente digite as instruções.
Digite a seguinte linha, exatamente como está escrita:
Observe como a IDE PyCharm edita visualmente o texto, para ajudar você, programador, a identificar as partes principais do seu programa.
Em seguida, clique com o botão direito do mouse sobre o nome do programa e escolha a opção Run ‘primeiro_programa’. Também é possível executar com a combinação de teclas CTRL+Shift+ F10.
Após executar, observe o console:
Veja que foi impresso no console exatamente o que colocamos entre aspas, ao chamar a função print(). Esta é a primeira forma de saída de dados: usar a função print() com uma string sendo passada como parâmetro (entre os parênteses).
Atenção
É importante perceber que a função print(), além de imprimir a string, também salta o cursor para a próxima linha.
Como você deve ter percebido, o que a função print() recebeu entre parênteses foi uma string. Ou seja, poderíamos ter passado para ela uma string definida anteriormente, como no exemplo a seguir:
Também poderíamos ter passado como parâmetro uma variável definida anteriormente. A função print() vai trabalhar com o valor desta variável. Observe as figuras a seguir:
Entrada de dados com a função input()
Quando o programador quiser que o usuário entre com algum valor, ele deverá exibir na tela o seu pedido. Para isto, a função input() é muito útil. Ela tanto exibe na tela o pedido, como permite que o valor informado pelo usuário seja armazenado em uma variável do seu programa.
Analise a figura a seguir:
A linha 1 fará com que a frase
É importantíssimo perceber que a função input() trata tudo o que for digitado pelo usuário como uma string, armazenando na variável designada pelo programador para isso. Mesmo que o usuário entre com apenas uma letra ou um número, isto será armazenado como uma string na variável.
Vamos analisar o exemplo a seguir:
Veja o console quando o programa é executado:
O usuário digitou 3 e ENTER. Mesmo sendo um valor, a variável numero trata como a string ‘3’. Isto impede que seja realizada a operação de soma com o inteiro 2, por exemplo. Poderíamos também usar a instrução
A função eval()
A função eval() pode nos ajudar a resolver o problema que acabamos de observar. Ela recebe a string (vinda da input()) e trata como valor numérico. Veja o exemplo a seguir:
Mesmo tendo recebido a string ‘1+2’ como parâmetro, a função eval() efetuou a soma de 1 com 2. Observe que confirmamos que s é uma string, com a instrução
Atenção
Para tratar a entrada do usuário como um número e com isso realizar operações algébricas, por exemplo, é necessário utilizar a função eval() em conjunto com a input().
Veja o próximo exemplo:
Atividade
Como exercício prático, tente escrever um programa para calcular e informar o IMC (índice de massa corpórea) do usuário, que deverá informar seu peso e sua altura. Lembre-se de que o IMC é calculado pela fórmula:
Uma solução simples é a da figura a seguir:
Saída formatada de dados
Quando desejamos que a saída siga determinado padrão – por exemplo, de hora ou de data –, existem algumas possibilidades para usar a função print(). É sempre possível utilizar a concatenação de strings, com o operador +, para montar a frase como quisermos.
Suponha que tenhamos as seguintes variáveis:
hora = 10
minutos = 26
segundos = 18
Poderíamos chamar a função print() com o separador : da seguinte forma:
Porém, existe outra possibilidade, usando o método format(). Com ele, podemos montar a string com as chaves {} indicando onde entrarão valores, passados como parâmetros separados por vírgulas.
Atenção
É importante observar que a quantidade de chaves precisa ser igual à quantidade de variáveis passadas como parâmetros no método format().
Seria muito bom se não precisássemos nos preocupar com esta correspondência, para evitar erros bobos. Isto é possível! Para tornar a saída formatada ainda mais intuitiva, basta utilizar a letra ‘f’ no início dos parâmetros da função print(), e colocar cada variável dentro das chaves na posição em que deve ser impressa.
Veja como fica ainda mais fácil entender:
Também é possível especificar a largura de campo para exibir um inteiro. Se a largura não for especificada, ela será determinada pela quantidade de dígitos do valor a ser impresso. Veja a figura a seguir:
Observe que os valores 10 e 100 foram impressos com espaços em branco à esquerda. Isto ocorreu porque definimos que a primeira variável deveria ser impressa com 4 espaços com {:4} (2 foram ocupados e 2 ficaram em branco), e que a segunda variável deveria ser impressa com 5 espaços com {:5} (3 foram ocupados e 2 ficaram em branco). Também é válido perceber que o padrão é alinhar os valores à direita do espaço reservado para a impressão da variável.
O método format() também pode ser usado para imprimir valores de ponto flutuante com a precisão definida. Veja a figura a seguir:
Ao usar
Além de usar o método format(), outra possibilidade interessante é a impressão de strings de diferentes maneiras.
Dica
Para imprimir uma substring, por exemplo, basta utilizar os colchetes para indicar o intervalo de índices que devem ser impressos. Vale lembrar que o primeiro caractere da string é indexado com 0.
Veja a figura a seguir:
Atenção
Um ponto de atenção é que usar
Também é possível imprimir a string como lida da direita para a esquerda. Para isso, deve-se utilizar
Atenção
Fique atento quando utilizar o intervalo na impressão no sentido inverso, porque os limites do intervalo devem respeitar este sentido.
Boas práticas de programação
Ao começar sua jornada como programador, é importante perceber que existem algumas práticas que não são obrigatórias, mas podem ajudar muito no seu aprendizado. Além disso, podem permitir que você corrija mais rapidamente erros que venham a surgir no futuro e tornar seu código mais fácil de ser compreendido por outro programador, favorecendo o trabalho em equipe.
Uma sugestão que já foi abordada neste tema é utilizar nomes de variáveis que ajudem a compreensão do que elas representam. Por isso, utilizar uma variável de nome altura é mais indicado do que a.
Também é muito importante utilizar comentários no seu programa, explicando o que aquele trecho resolve. Em Python, os comentários podem ser:
- De uma linha, iniciando-a com #.
- De várias linhas, delimitando o início e o fim do comentário com “”” (três aspas duplas).
Dica
É importante lembrar que os comentários não são instruções a serem executadas. Então, você pode escrever de forma simples e objetiva, sem obedecer às regras de sintaxe da linguagem.
Uma característica marcante da comunidade de desenvolvedores Python é manter uma lista de propostas de melhorias, chamadas PEP (Python Enhancement Proposals). Dentre as PEPs, destaca-se a PEP8, que estabelece um guia de estilo de programação.
Saiba mais
Para saber mais sobre as PEPs, visite o site Python.org.
Resumo
No vídeo a seguir o professor apresentará um resumo dos principais conceitos abordados no módulo 3. Assista:
Verificando o aprendizado
ATENÇÃO!
Para desbloquear o próximo módulo, é necessário que você responda corretamente a uma das seguintes questões:
O conteúdo ainda não acabou.
Clique aqui e retorne para saber como desbloquear.
Conclusão
Considerações Finais
Neste tema, você aprendeu as principais características da linguagem Python, além de conhecer seus tipos de dados, operadores e as formas mais usadas para interagir com o usuário. O uso correto destes conceitos é essencial na sua jornada de formação como programador.
Recomendamos que você fique atento aos detalhes e procure sempre programar de forma organizada. Isto vai evitar erros e tornar sua experiência mais agradável.
Podcast
CONQUISTAS
Você atingiu os seguintes objetivos:
Identificou a linguagem Python, seus tipos de dados e variáveis
Reconheceu os operadores e suas relações de precedência na linguagem Python
Descreveu as formas de entrada e saída de dados na linguagem Python