![Módulo de coleção do Python para estruturas de dados especializadas](https://optimuscloud.com.br/wp-content/uploads/2024/03/1711598404_Modulo-de-colecao-do-Python-para-estruturas-de-dados-especializadas-150x150.jpg)
Módulo de coleção do Python para estruturas de dados especializadas
28 de março de 2024!['Observabilidade' não é observabilidade quando se trata de KPIs de negócios](https://optimuscloud.com.br/wp-content/uploads/2024/03/Observabilidade-nao-e-observabilidade-quando-se-trata-de-KPIs-de-150x150.png)
‘Observabilidade’ não é observabilidade quando se trata de KPIs de negócios
28 de março de 2024Ah, o sublinhado, o “_” que conecta várias palavras quando há um espaço em branco. Um personagem que pode significar nada e alguma coisa ao mesmo tempo. Era uma vez, eu usava sublinhados em nomes de arquivos do Linux, como imagem_1.jpg ou arquivo_teste.txt. Isso foi na época em que os espaços nos nomes dos arquivos podiam causar estragos na linha de comando. Embora as coisas tenham mudado com isso, ainda uso o sublinhado de vez em quando.
Com Python, entretanto, o sublinhado assume alguns significados importantes e pode ser usado para diferentes propósitos. Ao digitalizar o código Python, você pode ter encontrado dois sublinhados diferentes, simples e duplos. Cada um deles pode ser usado para uma finalidade diferente. Por exemplo, o sublinhado único pode ser usado após um nome, antes de um nome ou em literais numéricos. O sublinhado duplo pode ser usado de duas maneiras: antes de um nome ou antes e depois de um nome.
Mas o que tudo isso significa?
Vamos nos aprofundar e descobrir.
O sublinhado único
Primeiro, examinaremos o sublinhado único no Interpreter. O que significa In Interpreter? Abra uma janela de terminal em qualquer máquina em que o Python esteja instalado (estou usando Pop!_OS Linux com Python 3) e emita o comando:
python3
Você entrou oficialmente no interpretador Python. O que você deve ver é algo assim:
Que >>> é onde você insere comandos Python. Deixe-me mostrar um exemplo, usando um único sublinhado. Esse tipo de sublinhado serve como identificador em Python, o que significa que pode ser usado para referenciar um objeto. Lembre-se de que um objeto é uma variável que contém dados.
No intérprete, emita o comando:
print(_)
Pelo esforço acima, você receberá o seguinte erro:
Por que? Porque o sublinhado não está definido. O sublinhado único armazena o último objeto e, como não houve último objeto, gerou um erro. Mas e se você definisse um objeto como este no interpretador Python:
10 + 10
Agora, execute o comando:
print(_)
Desta vez você deverá ver 20 na saída. Por que? Porque o resultado de 10 + 10 foi o objeto definido mais recentemente.
Aqui está outra maneira de ver a mesma coisa. No intérprete, copie o seguinte:
for _ in range(10): print("Hello, New Stack!")
Pressione Enter e você verá o texto da segunda linha impresso 10 vezes. Este é um tipo diferente de uso para o sublinhado único. Quando usado em um loop como esse, ele ignora valores que você não precisaria usar posteriormente. Na verdade, depois de executar o código acima, digite imprimir(_) novamente e veja o que acontece. A saída será “9”. Por que? Como o último objeto foi criado por intervalo(10) e não pelo imprimir() instrução, que era um valor (“Hello, New Stack”) e não um objeto (“9”).
E quanto ao sublinhado único à direita? Isso é usado para evitar conflitos com palavras-chave Python. Por exemplo, list é uma palavra-chave Python (como no lista() construtor) e você não gostaria de usar list como, digamos, um nome de variável. Mas e se você quisesse usar list como nome de variável? É aí que o sublinhado final é útil. Então, em vez de:
list = (red, green, yellow, blue)
Você usaria:
list_ = (red, green, yellow, blue)
Ao fazer isso, você pode usar qualquer palavra-chave como nome de variável, desde que adicione um sublinhado ao final. Isso garante que os nomes das variáveis não entrem em conflito com palavras-chave.
Outro uso do sublinhado único é separar dígitos de números. Você não poderia usar 1.000.000 porque a vírgula tem um significado muito diferente em Python. Você poderia, entretanto, usar 1_000_000 para representar um milhão. Você também pode usar o sublinhado para separar porções binárias, octais ou hexadecimais de um número. No interpretador Python, digite:
a = 1_000_000
A seguir, digite:
print(a)
A saída será:
1000000
O duplo sublinhado
A seguir, examinaremos o sublinhado duplo do Python. Este é um pouco complicado. Essencialmente, o sublinhado duplo é usado para manipulação de nomes (que é usado para atributos de classe que você não deseja que sejam usados pelas subclasses). O pré-sublinhado duplo instrui o intérprete a reescrever o nome do atributo de uma subclasse, para evitar conflitos de nomenclatura.
Por exemplo, se você usou __foo, o intérprete o substituiria automaticamente por __nomedaclasse__foo. Isso é feito para garantir que não haja sobreposição de __foo em outra aula. Isso também evita que seu método seja substituído por uma subclasse ou acessado acidentalmente.
Aqui está um exemplo.
class SampleClass(): def __init__(self): self.var1 = 21 self._var2 = "Hello, New Stack" self.__var3 = 12 obj1 = SampleClass() print(dir(obj1))
Notar que var1 e var2 use um único sublinhado inicial, enquanto var3 usa um sublinhado duplo inicial. Também usamos um sublinhado duplo inicial antes iniciar e (auto)mas a chave está em var1, var2e var3.
Se você executasse o código acima, veria na saída ‘_var2′ e’_var1′. Contudo, o que aconteceu var3? Como você provavelmente esperava, ele volta como_SampleClass__var3′.
Mangling de nomes em ação.
E isso basta para sua introdução ao sublinhado do Python. Comece a usar esse recurso e veja se ele não ajuda a tornar sua vida de programação Python um pouco mais fácil.
A postagem O que é o sublinhado Python e como ele é usado? apareceu primeiro em The New Stack.