9 Truques com o Python REPL
Naturalmente, o Pi em Raspberry Pi vem do Python, uma das linguagens de programação mais populares do mundo e especialmente popular entre os que gostam de fazer coisas. Neste post, quero dar-te 9 truques e dicas com o Python REPL - mas não te preocupes se não estiveres muito familiarizado com Python ou o REPL.
Este post destina-se a programadores Python principiantes e intermédios.
O que é o REPL?
O REPL, ou Read-Evaluate-Print Loop, é uma forma de interagir diretamente com o interpretador Python. É chamado de REPL, porque lê, avalia e imprime a entrada e depois volta ao início, permitindo-lhe introduzir outro comando.
Fornece uma interface através de uma Shell Python para introduzir código e receber imediatamente uma saída. Isto torna possível verificar o código, depurar em tempo real e produzir testes interactivos. Normalmente, saberás que estás a lidar com um REPL Python quando vires estas três setas:
>>>
É aqui que pode introduzir os seus dados.
Vale a pena mencionar que
Os termos "Python Shell" e "Python Interpreter" são por vezes usados indistintamente, mas existe uma diferença subtil entre eles. O Interpretador Python refere-se ao programa ou software real que executa o código Python. A Python Shell, no entanto, é a interface que lhe permite interagir com o interpretador em tempo real.
Para além dos Shells Python e Python3 padrão, muitas pessoas também utilizam o IPython e o bpython, que são programas de linha de comandos que oferecem características únicas, tais como realce de sintaxe.
Podes ver que o IPython e o bpython são mais bonitos por defeito (abaixo veremos como tornar o REPL padrão mais bonito também).
Também vale a pena notar que o REPL do IPython numera as linhas de entrada "In [1]", "In [2]", etc.
Em contraste com o IPython, o bpython mantém o layout >>>.
O REPL pode também fornecer funcionalidades como o histórico de comandos, o preenchimento de separadores e a capacidade de aceder a variáveis e funções previamente definidas, tornando-o uma ferramenta conveniente para a programação e exploração interactiva de Python.
Isto faz com que o REPL seja uma ferramenta inestimável para qualquer pessoa que esteja a tentar mexer no seu Raspberry Pi.
Agora que já sabe o que é o REPL, vamos explorar alguns truques para o utilizar:
Truque 1: Encontrar documentação
Pode encontrar a documentação para qualquer objeto ou módulo Python diretamente a partir do REPL utilizando a opção help()
função.
Por exemplo, digitando help(str)
exibirá a documentação do objeto string. Também é possível anexar um método específico ou nome de função para obter informações detalhadas, como
help(str.upper)
Se escrever isto, verá o seguinte:
Truque 2: Utilizar o preenchimento de separadores
Dependendo do programa que está a utilizar, o Python REPL suporta a conclusão de tabulação, o que pode poupar tempo e evitar erros de digitação. Premir a tecla Tab depois de escrever um nome parcial ou um objeto irá mostrar as opções disponíveis.
Por exemplo, se escrever int.
e, em seguida, prima Tab, verá uma lista de métodos para executar com números inteiros.
Truque 3: Criar afirmações de várias linhas
Além disso, o REPL permite-lhe escrever instruções de várias linhas utilizando a continuação de linha.
Se quiser dividir uma declaração em várias linhas para facilitar a leitura, pode utilizar o carácter de barra invertida (\
) no final de cada linha para a continuar na linha seguinte (ver exemplo 1 abaixo).
Também pode colocar a declaração entre parênteses ou colchetes para a continuar na linha seguinte (ver exemplo 2 abaixo).
# example 1: using backslash for a multi-line statement
name = 'Fatima'
age = 46
country = 'Germany'
message = 'Hi, ' + \
name + \
'! You are ' + \
str(age) + \
' years old and from ' + \
country + '.'
print(message)
# the message will be 'Hi, Fatima! You are 46 years old and from Germany.'
# example 2: using parentheses for a multi-line statement
total = (1 + 2 + 3 +
4 + 5 + 6 +
7 + 8 + 9)
print("The total is:", total)
# the message will be 'The total is: 45'
Truque 4: Aceder ao código previamente digitado
Pode aceder a código previamente escrito no REPL utilizando as teclas de seta para cima e para baixo, tal como faria no terminal.
Premir a tecla de seta para cima percorrerá o histórico de comandos, permitindo-lhe recuperar e modificar rapidamente comandos anteriores. Veja por si próprio!
Truque 5: Utilizar a variável de sublinhado
A variável sublinhado (_)
contém o resultado da última expressão avaliada no REPL.
Pode ser útil quando precisa de reutilizar o resultado em operações subsequentes sem ter de reavaliar toda a expressão. Assim, se precisar de fazer alguns cálculos rápidos ou se quiser recuperar dados muito rapidamente - pode simplesmente escrever o sublinhado como uma variável padrão do resultado anterior.
Truque 6: Executar comandos do sistema e comandos mágicos (IPython)
Em IPython (abreviatura de "Interactive Python"), pode executar comandos do sistema diretamente, prefixando uma linha de código com um ponto de exclamação (!
).
Juntamente com a função comandos mágicos, like %cd to change directory, you’re able to use the Python REPL for seamless integration!
Por exemplo, !ls
em sistemas baseados em Unix ou !dir
no Windows listará o conteúdo do diretório atual.
Truque 7: Experimentar as importações
No Python REPL, pode experimentar as importações sem a necessidade de criar ficheiros Python separados. Esta funcionalidade permite-lhe importar módulos, experimentar as suas funções e explorar o seu conteúdo de forma interactiva, tornando-o conveniente para uma rápida experimentação e exploração de diferentes módulos e das suas capacidades.
Aqui está como podes usar o Python REPL para experimentar com importações:
>>> import math
>>> math.sqrt(16)
4.0
Neste exemplo, utilizamos o sqrt()
da função math
para calcular a raiz quadrada de 16.
Ao utilizar o Python REPL para experimentar as importações, pode testar e explorar rapidamente a funcionalidade de vários módulos sem a necessidade de criar ficheiros Python separados.
Este processo interativo e iterativo permite-lhe compreender melhor o funcionamento dos diferentes módulos, experimentar diferentes funções e examinar os seus resultados em tempo real.
Truque 8: Personalizar o prompt do REPL
Não gosta do >>> como prompt principal e ... como prompt secundário?
Estás com sorte, porque podes personalizar o prompt apresentado pelo Python REPL.
Ao modificar o sys.ps1
e sys.ps2
é possível alterar os avisos primário e secundário, respetivamente.
Corre:
import sys
sys.ps1 = 'primary'
sys.ps2 = 'secondary'
Agora, a linha de comando primária será "primária" e a linha de comando secundária será "secundária". Pode mudar para o que quiser! Experimenta com símbolos ou emojis, por exemplo!
Fazer isso dessa forma afetará apenas a sessão REPL atual. Se quiser tornar as coisas um pouco mais permanentes, então vai precisar de encontrar o ficheiro ".pyrc" e editar os prompts lá.
Lembra dos meus prompters chatos e feios nos meus REPLs acima? Vamos mudar a cor.
Se estiver a utilizar o Linux, pode introduzir o seguinte no seu terminal:
tee ~/.pyrc <<E0F
import sys
sys.ps1='\x01\x1b[1;34;40m\x02>>>\x01\x1b[0m\x02'
sys.ps2='\x01\x1b[1;35;40m\x02...\x01\x1b[0m\x02'
E0F
Isto mudará a cor da linha de comando primária para azul sobre cinzento e a linha de comando secundária para roxo sobre cinzento, se estiver à procura disso. Podes fazer experiências com todas as Sequências de cores ANSI para encontrar a cor do prompter que mais lhe agrada.
Depois de o ter feito, certifique-se de que exporta isto:
export PYTHONSTARTUP=~/.pyrc
Agora, os avisos devem ter o seguinte aspeto:
Mais uma vez, isto é apenas temporário. Se quiser alterar permanentemente as coisas, terá de alterar o ficheiro de configuração. Mas isto dá-lhe uma ideia da diversão que pode ter!
Truque 9: Explorar módulos e objectos
Se pretende complementar a procura de documentação e a utilização do preenchimento de separadores, então este é o truque que completa o pacote!
É possível explorar o conteúdo de um módulo (ou de um objeto) utilizando a função dir()
função.
Ao passar um módulo ou objeto como argumento, devolve uma lista de nomes dentro desse módulo ou objeto, permitindo-lhe explorar os seus atributos, métodos e funções disponíveis.
Por exemplo:
import math
print (dir(math))
Esta ação apresenta uma lista dos atributos, métodos e funções disponíveis no módulo de matemática.
São truques como este que podem ser fundamentais para tornar o seu fluxo de trabalho perfeito.
Depois de aprender estes 9 truques, será capaz de usar o REPL de forma mais eficaz.
Isto fará com que a depuração e o teste do seu código sejam muito mais fáceis.
Diga-nos quais são os seus truques REPL nos comentários abaixo!