Como usar o Módulo Imprimido Pretty in Python

Como usar o Módulo Imprimido Pretty in Python
Este artigo abordará um guia sobre o uso do módulo “Pretty Print” e seus métodos disponíveis no Python. Também chamado de pprint, este módulo está disponível na biblioteca Python padrão. Todas as amostras de código deste artigo são testadas com Python 3.9.5 no Ubuntu 21.04.

Sobre pprint

O módulo Pprint pode ser usado para melhorar a aparência e a sensação e a formatação da saída padrão impressa usando Python em um terminal. Ao formatar a saída, você pode melhorar sua legibilidade e até exportá -lo para um arquivo externo para armazenar a melhor saída estruturada. O uso do módulo Pprint pode ser melhor compreendido através de exemplos, alguns deles estão listados abaixo.

Sintaxe básica do método Pprint

Dê uma olhada no exemplo de código abaixo:

De Pprint Import Pprint
d = "A": 1, "B": 2, "C": 3, "D": 4
Impressão (D)
pprint (d)

O exemplo acima ilustra o uso de métodos de impressão e Pprint. A primeira linha importa o método Pprint do módulo Pprint. A variável “D” é um objeto do tipo dicionário com pares de valor-chave. Em seguida, o método Pprint é chamado e o objeto a ser impresso é fornecido a ele como um argumento (Python Dictionary neste caso).

Depois de executar a amostra de código acima, você deve obter a seguinte saída:

'a': 1, 'b': 2, 'c': 3, 'd': 4
'a': 1, 'b': 2, 'c': 3, 'd': 4

Os métodos de impressão e Pprint produzem a mesma saída que nenhuma formatação foi aplicada à saída ainda. Os próximos exemplos mostrarão a aplicação de formatação na saída.

Convertendo uma saída de linha única em saída multilina usando Pprint

Para converter uma saída de linha única em saída multilina, você terá que fornecer a variável "largura" como um argumento para o método Pprint. Dê uma olhada no exemplo de código abaixo:

De Pprint Import Pprint
d = "A": 1, "B": 2, "C": 3, "D": 4
pprint (d, largura = 1)

O exemplo de código é o mesmo que o exemplo mostrado acima, com um novo argumento chamado "largura" com um valor de 1. O valor da largura pode ser usado para especificar o número máximo de caracteres permitidos em uma linha. Por padrão, este valor é 80. Se objetos / elementos aninhados de um objeto ultrapassarem as restrições de largura, eles são movidos para uma nova linha. Como existe uma restrição de apenas 1 caractere, cada elemento será movido para uma nova linha usando a melhor abordagem identificada por Python para que o objeto seja impresso. Essa abordagem garante que cada elemento tenha uma linha completa para que seja legível e não quebrada ou truncada em palavras parciais.

Depois de executar a amostra de código acima, você deve obter a seguinte saída:

'a': 1,
'B': 2,
'C': 3,
'D': 4

Adicionando indentação à saída multilina usando Pprint

Se você possui uma corda multilina ou quebrou uma saída de linha única para obter uma saída multilina usando o método explicado acima, você pode usar o argumento do "recuo" para adicionar espaçamento antes de cada objeto na saída. Dê uma olhada no exemplo de código abaixo:

De Pprint Import Pprint
d = "A": 1, "B": 2, "C": 3, "D": 4
pprint (d, largura = 1, recuo = 4)

O exemplo de código é o mesmo que o exemplo explicado acima. No entanto, um novo argumento chamado "recuo" com um valor de 4 foi adicionado. Isso adicionará o recuo igual a 4 espaços antes de cada objeto.

Depois de executar a amostra de código acima, você deve obter a seguinte saída:

'a': 1,
'B': 2,
'C': 3,
'D': 4

Observe que o argumento do "recuo" não terá efeito nas saídas de linha única.

Limitando a saída impressa a certos níveis

Se o objeto que você está imprimindo contiver objetos aninhados, você poderá usar o argumento de "profundidade" para limitar a saída a certos níveis. Dê uma olhada no exemplo de código abaixo:

De Pprint Import Pprint
D = "A": 1, "B": 2, "C": 3, "D": [4, 5]
pprint (d, profundidade = 1)

No exemplo acima, os dados são impressos até um nível de profundidade de 1. Em outras palavras, apenas objetos que não contêm outros objetos aninhados são impressos. A lista “[4, 5]” tem um nível de profundidade de 2 e não será impresso. Para indicar que está oculto, três pontos ou elipses são usados.

Depois de executar a amostra de código acima, você deve obter a seguinte saída:

'a': 1, 'b': 2, 'c': 3, 'd': […]

Aqui está outro exemplo em que uma profundidade de 2 níveis é usada. O primeiro elemento aninhado aparece na saída, mas o segundo não.

De Pprint Import Pprint
D = "A": 1, "B": 2, "C": 3, "D": [4, [5, 6]]
pprint (d, profundidade = 2)

Depois de executar a amostra de código acima, você deve obter a seguinte saída:

'A': 1, 'B': 2, 'C': 3, 'D': [4, […]]

Obtendo uma saída bastante impressa como um valor de retorno

Se você deseja usar a boa saída impressa em outras funções python ou atribuí -la a uma variável, você pode usar o método "pformat". É idêntico ao método Pprint, exceto que não imprime nada, mas retorna uma corda formatada. Dê uma olhada no exemplo de código abaixo:

De Pprint Import pFformat
D = "A": 1, "B": 2, "C": 3, "D": [4, [5, 6]]
Pretty = pformat (D, profundidade = 2)
Impressão (bonita)

Em vez de pprint, agora o pformat foi importado do módulo Pprint. A variável "bonita" armazena a sequência formatada para que possa ser usada posteriormente no código. A última declaração imprime a saída da bela variável.

Depois de executar a amostra de código acima, você deve obter a seguinte saída:

'A': 1, 'B': 2, 'C': 3, 'D': [4, […]]

Usando o módulo JSON para imprimir um dicionário Python

Se você deseja imprimir um dicionário python em uma estrutura bem recuada, como o módulo Pprint, pode não ser suficiente. Nesse caso, o método "dumps" do módulo JSON produz um resultado muito melhor. Dê uma olhada no exemplo de código abaixo:

De Pprint Import Pprint
de JSON Import denominados
d = "A": 1, "B": 2, "C": 3, "D": 4
pprint (d, largura = 1, recuo = 4)
Imprimir (despejos (D, Recent = 4))

Além do método PPRINT, o método "dumps" do módulo JSON foi agora importado para a amostra de código. Um argumento chamado "Recent" com um valor de 4 foi fornecido ao método do despejo.

Depois de executar a amostra de código acima, você deve obter a seguinte saída:

'a': 1,
'B': 2,
'C': 3,
'D': 4

"A": 1,
"B": 2,
"C": 3,
"D": 4

Como você pode ver na saída, o método do dumps produz um dicionário de python melhor formatado.

Conclusão

O belo módulo de impressão ou pprint pode ser usado para produzir uma saída bem formatada no Python. A saída padrão de muitos objetos Python pode não ser exatamente legível, especialmente quando os dados são grandes e têm muitos objetos aninhados. Nesses casos, você pode usar o Pprint para melhorar a legibilidade e a formatação da saída.