0% acharam este documento útil (0 voto)
8 visualizações48 páginas

Live de Python #181

A live de Python #181 aborda a formatação de strings, explicando os tipos de formatação, a mini linguagem do format e exemplos práticos como a criação de um cardápio. O documento também discute conversões de tipos de texto e o uso do sinal de igual para debugar variáveis. Links adicionais para documentação e recursos sobre o tema são fornecidos.

Enviado por

pinatofilho
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
8 visualizações48 páginas

Live de Python #181

A live de Python #181 aborda a formatação de strings, explicando os tipos de formatação, a mini linguagem do format e exemplos práticos como a criação de um cardápio. O documento também discute conversões de tipos de texto e o uso do sinal de igual para debugar variáveis. Links adicionais para documentação e recursos sobre o tema são fornecidos.

Enviado por

pinatofilho
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Live de Python #181

Roteiro

1. Tipos de formatação 3. Uma mini linguagem


O básico necessário O lado direito do format

2. Entendendo o format 4. Alguns exemplos legais


O lado esquedo Tentando refazer um cardápio
picpay.me/dunossauro apoia.se/livedepython PIX

Ajude o projeto
picpay.me/dunossauro apoia.se/livedepython PIX

Ajude o projeto
Acássio Anjos, Ademar Peixoto, Alex Lima, Alexandre Harano, Alexandre Santos, Alexandre Tsuno, Alexandre Villares, Alynne Ferreira,
Alysson Oliveira, Amaziles Carvalho, Andre Azevedo, André Rocha, Antonio Lins, Arnaldo Turque, Artur Zalewska, Bruno Barcellos, Bruno
Batista, Bruno Freitas, Bruno Guizi, Bruno Oliveira, Caio Nascimento, Carlos Chiarelli, Cleber Santos, César Almeida, Davi Ramos, David
Kwast, Diego Guimarães, Diego Ubirajara, Dilenon Delfino, Dino Aguilar, Donivaldo Sarzi, Elias Soares, Emerson Rafael, Eric Niens,
Eugenio Mazzini, Euripedes Borges, Everton Alves, Fabiano Gomes, Fabio Barros, Fabio Castro, Flavkaze Flavkaze, Flávio Meira,
Francisco Alencar, Franklin Silva, Fábio Barros, Gabriel Simonetto, Gabriel Soares, Gabriela Santiago, Geandreson Costa, Guilherme
Castro, Guilherme Felitti, Guilherme Gall, Guilherme Ostrock, Gustavo Suto, Henrique Junqueira, Henrique Machado, Ismael Ventura,
Israel Fabiano, Israel Gomes, Italo Silva, Jair Andrade, Jairo Rocha, Johnny Tardin, Jonatas Leon, Jonatas Oliveira, Jorge Plautz, Jose
Mazolini, José Gomes, José Prado, João Lugão, Juan Gutierrez, Jônatas Silva, Kaio Peixoto, Kaneson Alves, Leonardo Cruz, Leonardo
Mello, Leonardo Nascimento, Lidiane Monteiro, Lorena Ribeiro, Lucas Barros, Lucas Mello, Lucas Mendes, Lucas Oliveira, Lucas Polo,
Lucas Teixeira, Lucas Valino, Luciano Ratamero, Luciano Silva, Maiquel Leonel, Marcela Campos, Marcelino Pinheiro, Marcos Ferreira,
Maria Clara, Marina Passos, Matheus Vian, Murilo Cunha, Natan Cervinski, Nicolas Teodosio, Osvaldo Neto, Patric Lacouth, Patricia
Minamizawa, Patrick Brito, Patrick Gomes, Paulo Tadei, Pedro Pereira, Peterson Santos, Rafael Lino, Reinaldo Silva, Renan Moura, Revton
Silva, Richard Nixon, Riverfount Riverfount, Robson Maciel, Rodrigo Ferreira, Rodrigo Mende, Rodrigo Vaccari, Rodrigo Vieira, Ronaldo
Silva, Rui Jr, Samanta Cicilia, Sandro Mio, Sara Selis, Silvio Xm, Thiago Araujo, Thiago Borges, Thiago Bueno, Thiago Moraes, Tony Dias,
Tony Santos, Tyrone Damasceno, Vinícius Bastos, Vlademir Souza, Vítor Gomes, Wellington Abreu, Wendel Rios, Wesley Mendes, Willian
Lopes, Willian Rosa, Wilson Duarte, Yuri Fialho, Yury Barros, Érico Andrei

Obrigado você
Dá pra formatar
de quais
maneiras? Tipos
Tipos de formatação
O incrível lado
esquerdo Format
'{}'.format('a')
'{}'.format('a')
a
'{} {}'.format('a', 'b')
'{} {}'.format('a', 'b')
ab
0
'{} {}'.format('a', 'b')
0
'{} {}'.format('a', 'b')
1
0 ab
'{} {}'.format('a', 'b')
1
0
'{0} {1}'.format('a', 'b')
1
0 ab
'{0} {1}'.format('a', 'b')
1
0 ba
'{1} {0}'.format('a', 'b')
1
Parâmetros nomeados

Agora fica mais interessante


'{nome} {sobrenome}'.format(
nome='Eduardo',
sobrenome='Mendes'
)
'{nome} {sobrenome}'.format(
nome='Eduardo',
sobrenome='Mendes'
)
Eduardo Mendes
'{sobrenome} {nome}'.format(
nome='Eduardo',
sobrenome='Mendes'
)
Mendes Eduardo
nome = 'Eduardo'
sobrenome = 'Mendes'

f'{sobrenome} {nome}'

Mendes Eduardo
Chamadas de métodos

Sim, dá pra fazer também


nome = 'Eduardo'

f'{nome.upper()}'

EDUARDO
nome = 'Eduardo'

f'{nome.lower()}'

eduardo
lista = [1, 2, 3, 4]

f'{lista[0]} {lista[1:]}'

1 [2, 3, 4]
Conversões

Convertendo para outros tipos de texto


O esquema das conversões
O valores podem ser convertidos para outros tipos de texto, o que
acrescenta coisas no nosso vocabulário de strings

{string[!<conversão>]}
Tipos disponíveis texto = 'Ração'

{texto!s} Ração

{texto!r} "Ração"

{texto!a} Ra\\xe7\\xe3o
Como essa conversão acontece?
O python, dependendo do tipo. Vai chamar uma função diferente para a
formatação da string

{texto!s} str(texto)
Como essa conversão acontece?
O python, dependendo do tipo. Vai chamar uma função diferente para a
formatação da string

{texto!r} repr(texto)
Como essa conversão acontece?
O python, dependendo do tipo. Vai chamar uma função diferente para a
formatação da string

{texto!a} ascii(texto)
Olhando mais a fundo

{Exemplo()!s}

str(texto)
Olhando mais a fundo

{Exemplo()!r}

repr(texto)
Olhando mais a fundo

{Exemplo()!a}

ascii(texto)

repr(texto)
https://docs.python.org/3/library/functions.html#ascii
O sinal de Igual

Debugar nunca foi tão gostoso


O sinal de igual (3.8+)
O sinal de igual pode auxiliar em logs e quando estamos tentando debugar
algo. Ele nos mostra o nome e o valor da variável

nome = 'Eduardo'

f'{nome=}'
O sinal de igual
O sinal de igual pode auxiliar em logs e quando estamos tentando debugar
algo. Ele nos mostra o nome e o valor da variável

nome = 'Eduardo'

f'{nome=}'
"nome='Eduardo'"
Uma conclusão
É possível ver o nome e valor da variável usando `=`. É possível converter a
string em outros tipos de texto e também fazer chamada de métodos.

{[nome][=][!converção]}
Uma breve revisão
Mini O temido lado
linguagem direito
https://www.python.org/dev/peps/pep-3101/
https://docs.python.org/3/library/string.html#format-specification-mini-language
Vamos começar do básico
Tudo que faz parte da mini-linguagem é dividido por dois pontos :

{:}
Vamos começar do básico
Tudo que falamos antes, vai ficar do lado esquerdo dos dois pontos

{string=!s:}
Mas o que podemos fazer?
Mais links
- https://www.python.org/dev/peps/pep-3101/

- https://docs.python.org/3/library/string.html#format-specification-mini-language

- https://docs.python.org/3/whatsnew/3.8.html

- https://realpython.com/python-formatted-output/

Você também pode gostar