Como obter funções de arquivos externos em um script Python

Uma das formas mais eficientes de organizar as suas funções, é “guardar” todas em um arquivo próprio, só delas.

Assim, você evita o excesso de código redundante nos seus scripts e, quando necessitar corrigir alguma coisa, só precisa mexer num lugar.

Neste texto, vou mostrar algumas maneiras de “chamar” as funções de dentro de um arquivo minhasfuncoes.py — você pode dar o nome que quiser ao seu arquivo, aí.

Como incluir um arquivo de funções no seu script Python

Você pode chamar código externo, para incluir no script atual via import — à maneira tradicional:

import minhasfuncoes

Note que não usei a extensão .py. Basta o nome principal do arquivo. A partir daí, já será possível usar todas as funções contidas nele.

Se o arquivo de funções for muito extenso e você estiver preocupado com uma possível sobrecarga do sistema, importe apenas o código que vai ser usado:

from minhasfuncoes import minhafuncao

Uma outra forma de importar o arquivo inteiro é a seguinte:

import minhasfuncoes as mf

Este comando joga para dentro de uma variável, chamada mf, o conteúdo do arquivo minhasfuncoes.py.

Quando quiser usar uma função do arquivo, use a seguinte sintaxe:

mf.minhafuncao()

O Python vai saber que deve buscar minhafuncao() dentro do arquivo representado pela variável mf.

Eu gosto muito de usar este método, por que me ajuda a sempre saber de onde está vindo cada função usada dentro do meu sistema. Quando chegar a algumas centenas de funções, distribuídas entre dezenas de arquivos, isso ajuda saber exatamente aonde um problema está.

Concatenar strings no Python

Este é um outro post em que falamos de algumas operações bem básicas no Python 3. Concatenar, grosso modo, é o mesmo que “juntar” ou somar strings.

Deixe o exemplo falar por si:

Exemplo de concatenação de 3 strings em Python.
nome = "Elias"
espacinho = " "
sobrenome = "Praciano"
nomeCompleto = nome+espacinho+sobrenome
print(nomeCompleto)

A concatenação também pode ser feita on the go, ou seja, dentro da função print(), por exemplo. Veja:

print(nome + " " + sobrenome)

Alternativamente, use ‘,’ (vírgula) para realizar uma concatenação de strings. Fique avisado que ela insere, espacinhos a mais — que às vezes podem ser úteis e às vezes não…

print(nome,espacinho,sobrenome)

Neste caso específico, o código abaixo é mais enxuto e oferece melhor resultado:

print(nome,sobrenome)
Captura de tela da shell do Python 3.
Exemplos de concatenação de strings em Python, usando operadores diferentes — com resultados diferentes.

Faça um loop for, em Python 3, com o Hello World!

A gente sempre usa o “Hello, World” (Alô, mundo!) para exibir a nossa primeira string em uma nova linguagem de programação.

Se você não aguenta mais esta frase, sinta-se à vontade para mudar e usar outra com a qual se sinta mais confortável. O importante é fazer o exercício, que é bem simples, por sinal.

O código abaixo começa definindo uma variável minhastring, dentro da qual vou guardar a frase, do título deste post.

Ainda, na mesma linha de código, vou iniciar um loop for, para exibir os caracteres da string, um em cada linha.

for minhastring in 'Hello, World':
  print("A minha string: "+minhastring)
Screenshot de um script em Python 3.
Como imprimir os caracteres de uma string, linha a linha, no Python 3.

Você pode usar estes recursos para realizar uma tarefa bem mais útil, como encontrar uma substring dentro de uma string maior. Veja este outro exemplo:

minhastring = "Este texto contém o nome Elias dentro dele. Substitua pelo seu nome."
if("Elias" in minhastring):
  print("Encontrei um nome… ")
Captura de tela de uma shell com código em Python.

Operações com strings no Python: remover variáveis, concatenar e multiplicar cadeias de caracteres.

As strings, infelizmente, são imutáveis, no Python. Mas você sempre pode pegar o seu conteúdo, alterá-lo na memória e gravá-lo em outra variável. E isso é mais simples de se fazer do que falar.

Este texto é uma continuação deste outro artigo, em que mostrei como selecionar e recortar caracteres ou sequencias de caracteres de dentro de strings maiores.

Como remover uma string

Se tudo o que você quer, é remover uma string do seu ambiente de trabalho — caso você esteja usando a shell do Python, use o comando del. Fácil, assim:

del minha_string
del string_nome

Infelizmente, não é possível usar índices, aqui, para especificar apenas um trecho da string a ser removido. Veja, abaixo, a mensagem de erro que você obteria:

del string_nome[1]

Traceback (most recent call last):
File "", line 1, in
TypeError: 'str' object doesn't support item deletion

Com o comando del, apenas a string inteira pode ser removida da memória e não parte dela. É tudo ou nada 😉

Como realizar operações com as strings

Você pode concatenar o conteúdo de uma ou várias strings através do operador de soma + ou de multiplicações *:

# definindo as minhas strings...
texto1 = "esta é a minha "
texto2 = "segunda string "
testo3 = "esta semana."
# oops! Apagando o erro...
del testo3
texto3 = "esta semana."
texto4 = "devo estar cansado, pra cometer erros estúpidos como esse…"
# exibindo as 3 primeiras strings criadas...
print(texto1+texto2+texto3)

esta é a minha segunda string esta semana.

# somando todas as minhas strings e gravando o resultado em uma nova string...
texto_todo = texto1 + texto2 + texto3 + texto4
print(texto_todo)

esta é a minha segunda string esta semana.devo estar cansado, pra cometer erros estúpidos como esse…
Exercício prático para criar variáveis do tipo string, apagar e concatenar no Python
Exercício prático para criar variáveis do tipo string, apagar e concatenar no Python

A esta altura, já ficou fácil imaginar como realizar uma multiplicação. Veja alguns exemplos:

print(texto4 * 5)
devo estar cansado, pra cometer erros estúpidos como esse…devo estar cansado, pra cometer erros estúpidos como esse…devo estar cansado, pra cometer erros estúpidos como esse…devo estar cansado, pra cometer erros estúpidos como esse…devo estar cansado, pra cometer erros estúpidos como esse…

texto_repetido = texto4 * 7
print(texto_repetido)
devo estar cansado, pra cometer erros estúpidos como esse…devo estar cansado, pra cometer erros estúpidos como esse…devo estar cansado, pra cometer erros estúpidos como esse…devo estar cansado, pra cometer erros estúpidos como esse…devo estar cansado, pra cometer erros estúpidos como esse…devo estar cansado, pra cometer erros estúpidos como esse…devo estar cansado, pra cometer erros estúpidos como esse…
Captura de tela da shell do Python 3, mostrando código de multiplicação de uma string.
Operações de multiplicações de uma string, na shell do Python 3.

No exemplo abaixo, mostro como alterar o conteúdo de uma string:

texto_repetido = (texto4 + " ---> ") * 7
print(texto_repetido)
captura de tela da shell do Python mostrando código para multiplicar o conteúdo de uma string.
Achei que texto ficaria melhor com estas separações.

Não esqueça de praticar, alterando os exemplos para ver outros resultados. E se inscreva na newsletter do site, para ser avisada(o) quando houver post novo.

Como acessar e selecionar um ou vários caracteres dentro de uma string no Python

Exemplo da técnica de recorte (slicing) no Python 3

Este recurso, no Python, não tem grande importância “em si mesmo”, mas pode ser fundamental dentro de contextos maiores, dentro de scripts mais complexos, por exemplo.

Você pode acessar um determinado caractere dentro de uma string. Com o uso de indexação e um array de caracteres pode selecionar e recortar uma pequena cadeia de caracteres dentro de uma string — isso se chama slicing.

O índice começa em 0 e você vai obter um erro “IndexError”, se tentar acessar um caractere fora do seu alcance.

Pode também usar -1 para acessar o último caractere de uma string. Pode usar -2 para acessar o penúltimo etc.

Se usar o operador de corte (slicing operator), ou seja o “:” (dois pontos), pode escolher uma gama ou conjunto de elementos dentro da string.

Achou complicado?! Então vamos praticar com alguns exemplos…

string_nome = "Elias Praciano"
print("Este é o conteúdo da minha variável string_nome: ", string_nome)

Nos próximos exemplos, vou tentar explicar o que o código faz, dentro dos comentários #:

# como obter o primeiro caractere da variável string_nome
print('string_nome[0]= ', string_nome[0])

# como obter o segundo, de trás pra frente...
print('string_nome[-2]=', string_nome[-2])
Como obter caracteres específicos dentro de uma string.

veja um exemplo de uso do recurso do slicing:

# um recorte, incluindo os caracteres
# compreendidos entre a 3a posição e a 9a
print('do terceiro ao nono caractere: ', string_nome[2:10])
Exemplo de código em Python 3: slicing de uma string.
O slicing envolve um recorte de caracteres compreendidos entre 2 posições dentro de uma string, no Python 3.

No exemplo abaixo, veja um recorte compreendendo do 2o ao penúltimo caractere da string “Elias Praciano”:

print("Do segundo ao último caractere do meu nome: ", string_nome[1:-1])

Fique atento aos possíveis erros. Um dos mais comuns é IndexError: string index out of range.

print(string_nome[20])
Traceback (most recent call last):
File "", line 1, in
IndexError: string index out of range

Como você pode ver acima, quando tentei acessar a posição 20 da minha string “Elias Praciano”, obtive uma mensagem de erro de volta. Nesta string, as posições possíveis, vão de 0 a 14, ou seja, [0:13] — quando a requisição está fora dos limites, este erro aparece.

Como criar variáveis com strings no Python

As variáveis podem armazenar diferentes tipos de valores, entre os quais caracteres.

Uma string é uma cadeia de caracteres. Este texto está cheio de strings.

Para criar uma variável, com uma string armazenada, siga os exemplos:

nome = "Elias Praciano"
linguagem = "Python 3"
data = "11 de Julho"

Fácil, não é?

Depois de definidas as variáveis, já é possível trabalhar com elas, realizando diversos tipos de operações:

print(nome)
print("data: "+data)
Trabalhando com strings dentro da shell do Python 3

Você pode armazenar strings muito maiores dentro das suas variáveis. Veja um exemplo:

meu_pequeno_texto = """lorem ipsum dolor sit amet
  consequatur consectetur
  adipiscing elit"""
print(meu_pequeno_texto)
lorem ipsum dolor sit amet
consequatur consectetur
adipiscing elit
As aspas triplas delimitam o início e o fim da string, caso ela vá ter múltiplas linhas.

Como aninhar loops for em Python

Python turtle cursor movements.

Quando inserimos um loop (ou laço) dentro de outro loop, podemos dizer que este segundo está “aninhado” no primeiro.

É possível aninhar vários laços for, no Python.

Vou mostrar alguns exemplos, usando a biblioteca turtle do Python. Se você ainda não sabe o que é, por favor, leia este texto.

Dentro da shell do Python 3, digite o seguinte código:

for i in range(10):
  turtle.right(45)
  turtle.forward(100)
  # abaixo segue o segundo loop for
  # note a indentação 
  for minhascores in "yellow", "orange", "red", "pink", "magenta", "blue", "cyan":
    turtle.left(360)
    turtle.forward(5)
    turtle.color(minhascores)
Na minha tela, a tartaruga andou girando um bocado. Procure, você também, alterar o código e fazer várias experiências.

Experimente, aninhar o seu próprio código ( o seu próprio loop), dentro do segundo laço.

Se quiser ver outros exemplos de uso da tartaruga, clique na tag turtle.

Construa polígonos com a tartaruga no Python 3

Os exercícios, envolvendo a biblioteca turtle (tartaruga) são uma excelente maneira de obter intimidade com a linguagem.

Neste texto, vou entrar no assunto direto, sem qualquer introdução. Caso você não saiba de que “tartaruga” estou falando, leia este texto antes e clique nas tags turtle para ler uma série de outros textos, que fazem uso desta incrível biblioteca gráfica.

Vamos começar pela importação da biblioteca e, em seguida, fazer os primeiros ajustes da tela e do cursor, para a gente tem um ambiente mais interessante para brincar.

import turtle
turtle.bgcolor("black")
turtle.color("green")
turtle.shapesize(2)
turtle.shape("turtle")
Importação da biblioteca turtle, na shell do Python 3 e alguns ajustes iniciais.

Feito isso, vamos movimentar a tartaruga pela tela, usando os métodos forward (para andar para frente) e left (para girar alguns graus à esquerda).

turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)

Simples, não é?

Comandos para mover a tartaruga, formando um quadrado na tela.
A cada comando, a tartaruga gira 90 graus e percorre 100 pixels, formando um quadrado na tela.

Experimente formar outros polígonos ou objetos com outros formatos na tela, alterando os comandos dados anteriormente.

Em vez de left, experimente usar right (direita).

As cores da tartaruga

Você pode usar uma gama limitada de cores para a tartaruga, através de seus nomes, em inglês: pink, green, red etc.

for mycolor in "yellow", "cyan", "pink":
  turtle.color(mycolor)
  turtle.right(45)
  turtle.forward(100)

Faça as suas próprias experiências.

Como controlar um loop no Python com a função range()

A função range() retorna uma sequencia de números começando do 0, por padrão e vai incrementando (um a um) e para antes de chegar ao número especificado.

Por exemplo, em range(5), teremos os seguintes números (sempre em ordem ascendente): 0, 1, 2, 3 e 4.

Faça um experiência, dentro da shell do Python:

for i in range (5):
  print(i)

0
1
2
3
4

A função também aceita outros parâmetros. Atualmente, a sintaxe dela inclui 3:

range(start, stop, step)

Em que start é onde começa a contagem; stop é aonde termina e step é o incremento. Para contar de 3 a 12, com um incremento de 2 números, eu posso fazer o seguinte:

for i in range(3,12,2):
  print(i)

3
5
7
9
11

Faça uma experiência, usando biblioteca turtle, do Python:

import turtle
for i in range(1, 50, 2):
  turtle.left(i*3)
  turtle.forward(i*3)

Leia mais sobre a biblioteca turtle.

Aprenda a fazer loops for em Python, com um exemplo simples, usando Turtle

Python turtle cursor movements.

A biblioteca turtle, no Python, foi projetada para tornar o aprendizado mais divertido e fácil.

Um loop pode ser exemplificado rapidamente, com o uso da biblioteca.

Para começar, entre na shell do Python:

python3

De dentro da shell, traga a biblioteca turtle, para trabalhar com as suas funções:

import turtle

Eu sugiro os seguintes comandos para ajustar a janelinha da tartaruga, antes de começar a fazer qualquer coisa:

# Alterar o fundo da janela para preto
turtle.bgcolor("black")
# Alterar a cor do cursor
turtle.color("green")
# Alterar o formato do cursor para a tartaruga
turtle.shape("turtle")
# Alterar o tamanho da tartaruga
turtle.shapesize(3)

Você pode usar tamanhos float para shapesize, como 2.5 ou 1.7, se estiver satisfeito com o exemplo acima.

Experimente também usar outros valores para bgcolor e color. Use nomes de cores em inglês.

Como fazer um loop for em Python

Um das forma mais simples de fazer um loop ou um laço em Python é usar o tradicional for. Experimente o seguinte código:

for i in range(6):
   turtle.forward(100)
   turtle.right(300)S

Se tudo correu bem, pra você, a tartaruguinha deve ter desenhado um hexágono na tela.

Vamos entender as 3 linhas do código acima?

  1. estabelece que a variável i varia entre de 0 a 6. A função range() retorna uma sequencia ascendente de números, começando por 0 e para antes de chegar ao 6. Portanto, ela retorna os números 0, 1, 2, 3, 4 e 5.
  2. O segundo comando faz a tartaruga andar para frente (forward) 100 pixels.
  3. O terceiro comando diz para a tartaruga rotacionar 300 graus para a direita (right).

Tente fazer um hexágono menor ou maior. Tente também rotacionar para a esquerda (left).

Em vez de usar um “contador” numérico, você definir exatamente quais valores deseja dar a sua variável controlador do loop.

Por exemplo, que tal fazer um laço alterando as cores da tartaruga?

Experimente o código abaixo:

for mycolor in "yellow", "orange", "red", "magenta", "pink", "cyan", "blue":
  turtle.right(45)
  turtle.forward(100)
  turtle.color(mycolor)
A minha tela está ficando cada vez mais bagunçada. Use turtle.reset(), se quiser “resetar” o seu quadro.

A partir daqui, faça as suas próprias mudanças no código e, se quiser, compartilhe as suas descobertas nos comentários.

Variáveis no Python

As variáveis são parte importante no desenvolvimento de qualquer programa. São contêineres ou depósitos para armazenar valores.

Em algumas linguagens de programação, é necessário declarar as variáveis, antes de começar a usar. No Python, não.

Assim que você der um valor a ela, a variável já estará criada, de acordo com o valor dado.

Experimente criar algumas variáveis na shell do Python:

nome = "Elias"
pagina = "50"

Para ver o valor da variável, você pode usar a função print()

print(nome)
print(pagina)

Neste texto, faço uso de um pacote do Python 3, que pode não estar instalado no seu computador. Por favor, leia este post, para resolver a mensagem de erro “No module named ‘tkinter’“.

Se tudo estiver ok, você pode importar o módulo turtle:

import turtle

A função turtle, aceita uma série de parâmetros/métodos, para ditar o comportamento de uma “tartaruga”, que se move dentro de um quadro/janela, criado pela biblioteca tkinter.

Por padrão, o cursor tem o formato de uma seta e não de uma tartaruga. Mas você pode usar uma variável para alterar o seu formato (shape):

Para dar um exemplo, vamos usar uma variável, de nome “forma” para informar ao interpretador Python sobre qual a forma que desejamos que o cursor do tk tenha. Vamos também usar uma variável “tamanho” para redimensionar o cursor. Veja:

forma = "turtle"
tamanho = 3
turtle.shape(forma)
turtle.shapesize(tamanho)

O método shape, aceita outros valores para a sua variável, como “circle” ou “square”. Experimente:

turtle.shape("circle")
turtle.shape("square")

O método shapesize também aceita diversos valores. Experimente e escolha o que mais se adéqua a você.

Use a tartaruga (turtle) do Python para brincar e aprender a programar

Python turtle cursor movements.

Se você puder se divertir e rir um pouco, o processo de aprendizado pode se tornar mais fácil e bem mais agradável.
O Python oferece uma biblioteca baseada na antiga linguagem LOGO (lá dos anos 60), que exibe uma tela com uma pequena tartaruga, que se movimenta de acordo com os comandos dados na shell.
Você vai precisar instalar o pacote python3-tk. No Debian 11 (Bullseye), isso já vem instalado por padrão.

Se obtiver uma mensagem semelhante a “no module named _tkinter”, faça a instalação do pacote python3-tk.

Abra uma shell Python e importe o “módulo da tartaruguinha”:

import turtle

Depois disso, a brincadeira já pode começar. Por exemplo, para fazer a tartaruga “caminhar” 10 pixels “para frente”, use o método forward.

turtle.forward(10)

 

Para caminhar 20 pixels para trás, use backward:

turtle.backward(20)

Para virar a “tartaruga” 90 graus para a esquerda (left), use o seguinte método:

turtle.left(90)

E, assim, é possível seguir em outra direção.

Mas, peraí… cadê a tartaruga??!!

Ótima pergunta! O formato padrão do cursor “turtle” é uma seta e não uma tartaruga. Mas isso pode ser resolvido facilmente, com o método shape:

turtle.shape("turtle")

Feliz, agora? Ou quer uma tartaruga maior?

Para aumentar o tamanho do cursor, use o método shapesize:

turtle.shapesize(3)
python turtle tkinter
Como movimentar a tartaruga turtle-tk no Python 3.

Daqui pra frente, é fácil encontrar outros métodos para interagir com a tartaruga, usando o sistema de ajuda da própria shell do Python:

help(turtle)

Outra forma de obter ajuda é digitar “turtle. ” e teclar TAB, para a shell exibir as opções de métodos disponíveis para uso.

Um pouco de história

O turtle graphics foi uma maneira muito popular usada para introduzir a programação para crianças e pré-adolescentes em meados dos anos 60.

Era parte da linguagem original LOGO, desenvolvida por Wally Feurzig e Seymour Papert (1966), para ensinar lógica de programação nas escolas.

Como encontrar pacotes de softwares relacionados entre Vim e Python

man looking through the courtains

O comando ‘search’ pode ser usado no gestor de pacotes do Debian/Ubuntu (apt) e nas distros derivadas do Fedora (dnf ou yum):

apt search python | grep -i vim

ou, ainda…

dnf search python | grep -i vim

Se quiser saber mais sobre o comando grep, clique aqui.
Para mim, o resultado foi o seguinte:

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

  arquivos de desenvolvimento para o flow-tools
  bibliotecas de desenvolvimento de Driver de transporte Multi-ponto HP (hpmud)
  biblioteca para gráficos científicos (arquivos de desenvolvimento)
  arquivos de desenvolvimento de integração de loop principal para python-dbus
  cabeçalhos de desenvolvimento para os vínculos Python GObject estáticos
  vínculos SDL para desenvolvimento de jogos em Python
  Keyboard-driven, vim-like browser based on PyQt5
vim-athena/testing 2:8.0.1401-2 amd64
vim-autopep8/testing 1.0.7-1 all
  vim plugin to apply autopep8
vim-gtk/testing,now 2:8.0.1401-2 amd64 [installed,automatic]
vim-gtk3/testing 2:8.0.1401-2 amd64
vim-khuno/testing 1.0.3-1 all
  Python flakes Vim plugin
vim-nox/testing 2:8.0.1401-2 amd64
vim-python-jedi/testing 0.11.1-1 all
  autocompletion tool for Python - VIM addon files
vim-syntastic/testing 3.8.0-1 all
  Syntax checking hacks for vim
vim-voom/testing 5.2-1 all
  Vim two-pane outliner
Você também pode inverter as palavras na busca, para obter resultados diferentes:
apt search vim | grep -i python

Todos podem ser instalados via apt ou dnf, mas o ideal talvez seja usar o vim-addons, seguido pelo nome do pacote.
Vamos falar sobre alguns destes, que sejam (pelo menos, quase) exclusivamente voltados para a linguagem de programação Python.

Pacote de ajustes sintáticos para o Vim

O pacote vim-syntastic oferece hacks de sintaxe para o editor Vim.
Trata-se de um plugin que verifica a sintaxe, usando programas externos.
Os eventuais erros encontrados serão exibidos ao usuário.
Pode ser feito sob demanda ou apenas quando o arquivo for gravado (salvo).
Em arquivos grandes pode haver economia significativa de tempo, uma vez que você não vai precisar sequer compilar seu código para descobrir que tem erros de sintaxe lá dentro.

O vim-syntastic tem suporte a várias outras linguagens também.

Ferramenta de autocomplemento para Vim

O pacote vim-python-jedi é uma ferramenta de autocomplemento para a linguagem Python, dentro do Vim.
Funciona ignorando eventuais erros de sintaxe (fica o aviso).
No geral, consegue entender quase todos os elementos sintáticos básicos do Python, incluindo muitos builtins.

Flakes no Vim

O plugin khuno vai instalar também o Flakes, que será usado para analisar o seu código de acordo com o Flake8.
Disponibiliza os seguintes recursos:

  1. A execução da análise sintática é assíncrona (non-blocking)
  2. O assistente exibe mensagens de erro na linha de status
  3. Use um Buffer à parte, para exibir erros

Experimente o bpython, uma shell Python com realce de sintaxe, entre outras coisas.

Quando você está com o terminal aberto e rodando a shell do Python, é possível realizar muitos procedimentos com interpretação imediata do seu código.
Infelizmente, a shell padrão não tem o recurso de realce da sintaxe, encontrado nas IDEs ou nos editores de texto voltados para desenvolvedores.
A shell utiliza o mesmo esquema de cores padrão do seu terminal — seja Mac ou Linux.

Que tal usar uma shell diferente, então?

Neste texto, eu apresento o bpython, um software de interface para o interpretador interativo do Python, já presente no seu sistema.
O aplicativo está disponível para sistemas operacionais MacOS, Windows e Linux.

Os recursos do bpython

A ideia, de acordo com a documentação, é oferecer todos os recursos presentes na shell do Python e mais alguns benefícios, usualmente só encontrados nas IDEs, ou editores mais modernos.
Tudo isso sem abrir mão da leveza.

Veja alguns recursos do aplicativo:

  1. Realce de sintaxe, à medida em que você digita seus comandos. Igual ao seu editor de textos preferido.
  2. Auto complementação de comandos, funções e variáveis, com exibição de uma caixa de sugestões à medida em que você digita. Pode usar a tecla Tab para aceitar uma sugestão que corresponda ao que está tentando digitar.
  3. Lista de parâmetros sensível ao contexto da função chamada na linha de comando.
    Ele faz uso do módulo inspect e da documentação do pydoc.
  4. Função Rewind ou rebobinamento. Tende a exibir sugestão de código que já foi usado.
    Em geral, é mais útil para definir classes e funções.

Como instalar o bpython

O método “universal” para instalar o aplicativo é através do PIP:

pip install bpython

Se quiser, você pode buscar o software nos repositórios da sua distro. Quem usa Debian (eu!) ou Ubuntu, pode fazer a instalação dos repositórios oficiais:

sudo apt install bpython

Se a sua distro Linux é baseada no Fedora, use o yum:

yum install bpython

Depois de instalado, é só executar:

bpython

Referências

https://www.bpython-interpreter.org/downloads.html.