Referente ao trecho abaixo, da explicação do exercício "O resultado da interpolação":
"R$ {:07.2f}".format(4.11)
"Neste exemplo, queremos um número com 7 casas inteiras, sendo duas delas decimais, resultado é R$ 0004.11. Como colocamos um número de casas inteiras superior a quantidade de casas inteiras do número, o Python coloca 0 (zeros) à esquerda."
O trecho em destaque pode gerar confusão, uma vez que o valor foi preenchido com zeros à esquerda por conta do parâmetro zero passado entre as chaves (logo após os 2 pontos :). Da maneira como está escrito pode dar a entender que seja algum default da função.
Notem que o resultado do código abaixo (sem parâmetro para preenchimento automático) é: 'R$ \s\s\s4.11' e não 'R$ 0004.11', que é o resultado do código acima. Ou seja, quando não informamos caracter específico através do parâmetro, o default é um espaço " ".
"R$ {:7.2f}".format(4.11)
Sugiro uma das seguintes alterações:
1- Mantendo o código como está e ajustando a explicação:
"R$ {:07.2f}".format(4.11)
"Neste exemplo, queremos um número com 7 casas inteiras, sendo duas delas decimais, resultado é R$ 0004.11. Como colocamos um número de casas inteiras superior a quantidade de casas inteiras do número, o resultado é preenchido automaticamente com 0 (zeros) à esquerda, conforme especificado no primeiro parâmetro entre as chaves, logo após os dois pontos, o 0 (zero)."
2- Ajuste do código e da explicação:
"R$ {:7.2f}".format(4.11)
"Neste exemplo, queremos um número com 7 casas inteiras, sendo duas delas decimais, resultado é R$ \s\s\s4.11. Como colocamos um número de casas inteiras superior a quantidade de casas inteiras do número, o resultado é preenchido automaticamente com espaços " " à esquerda, que é o padrão quando não é especificado caracter para preenchimento via parâmetro.
Espero que tenha sido claro e que ajude.
À disposição.
PS.: Usei \s para indicar a quantidade de espaços " " inseridos automaticamente, uma vez que aqui na formatação automática do conteúdo do tópico, os espaços extras são removidos.