Este artigo foi publicado como parte do Data Science Blogathon
Introdução
Você sempre quis escrever um código Python melhor e mais curto? Como replicar casos de switch tradicionais em Python? Eu tenho você coberto. Neste artigo, discutiremos 5 adendo / Truques do Python para escrever códigos melhores e mais curtos. Então vamos começar!
Observação: Mais curto nem sempre significa melhor. Seu código deve ser Fácil de ler e compreender.
Vamos nos concentrar em escrever mais curtos e Mais legível código neste artigo. Especificamente, nós aprenderemos:
- Como tornar grandes números mais legíveis no código e na saída (10000000 uma 10,000,000)?
- Como obter uma senha como entrada de um usuário sem realmente exibi-la?
- Como usar dicionários para implementar casos de troca?
- Como economizar memória usando geradores?
Tabela de conteúdo
- Condicionais ternários
- Trabalhe com grandes números
- Insira informações secretas
- Use o dicionário para replicar casos de troca
- Use geradores para economizar memória
- Dica bônus
- Resumo
- Notas finais
Condicionais ternários
Tomemos una situación en la que está asignando un valor a la variávelEm estatística e matemática, uma "variável" é um símbolo que representa um valor que pode mudar ou variar. Existem diferentes tipos de variáveis, e qualitativo, que descrevem características não numéricas, e quantitativo, representando quantidades numéricas. Variáveis são fundamentais em experimentos e estudos, uma vez que permitem a análise de relações e padrões entre diferentes elementos, facilitando a compreensão de fenômenos complexos.... en función de alguna condición. Você provavelmente escreveria algo como o seguinte:
condição = Falsa
se condição:
x = 1
outro:
x = 0
imprimir(x)
O código acima funciona corretamente, mas você acha que é pitônico? Não é. Então, para tornar seu código pitônico, você pode encontrar algo como o seguinte:
condição = Falsa x = 1 se a condição mais 0 imprimir(x)
x = 1 se a outra condição 0 está em inglês simples e autoexplicativo. Portanto, torna nosso código mais curto e fácil de entender.
Obteríamos o mesmo resultado de ambas as maneiras.
Vamos passar para outro truque.
Trabalhe com grandes números
Agora vamos falar sobre meu truque favorito. Você já trabalhou com grandes números? 1000000000 o 1.000.000.000; O que é mais legível? O segundo, verdade? Mas se tentarmos fazer isso em Python como num1 = 1,000,000,000, nós obteríamos um erro.
Mas existe outro método para fazer o mesmo. Podemos usar _ para separar os dígitos que não afetam nosso programa. E podemos usar :, dentro da string f para separar os dígitos de saída com uma vírgula. O código a seguir demonstra o mesmo.
num1 = 1_000_000_000 # 1 bilhão
num2 = 10_000_000 # 10 milhão
total = num1 + num2
imprimir(f'{total:,}') # Para separar os dígitos de saída com vírgula
# Saída # 1,010,000,000
Não é incrível? De fato, isto é.
Insira informações secretas
Digamos que você esteja usando nome de usuário e senha como entrada do usuário. Eu certamente escolheria a seguinte abordagem.
uname = input('Enter Username: ')
pwd = entrada('Enter password: ')
imprimir('Logging In...')
Produção:

Imagem do Autor
Mas qualquer um pode ver essa senha e isso viola a segurança. Então, para torná-lo mais seguro, estaríamos usando o Obter passagem módulo.
from getpass import getpass
uname = input('Enter Username: ')
pwd = getpass('Enter password: ')
imprimir('Logging In...')
Produção:

Imagem do Autor
Você notou a diferença? OK, isso parece ótimo. Vamos passar para outro truque.
Use o dicionário para replicar casos de troca
A maioria de nós aprende a linguagem C como nossa primeira linguagem de programação. Eu descobri que as caixas de comutação são o conceito mais simples, mas o mais importante na linguagem C. Esse foi o primeiro conceito que aprendi em programação que tem algumas aplicações do mundo real. Podemos pensar sobre sua aplicação nas ligações do Atendimento ao Cliente.
Muitas vezes, Programadores iniciantes em Python têm dúvidas sobre a aplicação de casos de switch usando Python. Podemos usar o dicionário Python para fazer isso, no qual definimos o nome da função como uma chave e a expressão da função como um valor. O programa a seguir demonstra o mesmo.
calc = {
'add': lambda x, e: x + e,
'subtract': lambda x, e: x - e,
'mul': lambda x, e: x * e,
'div': lambda x, e: x / e
}
# Maneira inteligente de chamar uma função que é definida em um dicionário.
imprimir(calc['add'](5, 4))
imprimir(calc['subtract'](5, 2))
imprimir(calc['mul'](5, 4))
imprimir(calc['div'](10, 2))
Produção:

Imagem do Autor
Use geradores para economizar memória
Digamos que temos uma lista muito grande. Então, aqui temos 10,000 elementos na lista e queremos calcular o quadrado de cada elemento. Podemos fazer isso com a lista de compreensões com o código que se parece com o seguinte.
import sys lista_de_quadrados = [i * i para i no intervalo(10_000)] # Para imprimir o tamanho de uma variável imprimir(sys.getsizeof(square_list, "bytes"))
# Saída # 87632
Então, este é um exemplo perfeito onde podemos usar geradores. Semelhante a listas de compreensão, podemos usar entendimentos de gerador onde temos parênteses em vez de colchetes. Um gerador calcula nossos elementos preguiçosamente. Portanto, produz apenas um item de cada vez e apenas quando solicitado. Você pode ler mais sobre geradores aqui. O programa a seguir calcula o quadrado de cada número até 10000 usando entendimentos de gerador.
square_gen = (i * i para i no intervalo(10_000)) # Para imprimir o tamanho de uma variável imprimir(sys.getsizeof(square_gen, "bytes"))
# Saída # 128
Essa é uma diferença notável no uso de memória.. Agora, tente obter os números maiores sozinho. Eu veria uma grande diferença!
Dica bônus
Use operador interativo “_”
Vamos discutir nossa última dica. É um recurso útil que muitos de nós não conhecemos.. Sempre que testamos uma expressão ou chamamos uma função, o resultado é enviado para um nome temporário, _ (um sublinhado). Então, vamos provar isso.
2 + 3
# Saída # 5
Agora, execute o seguinte código.
imprimir(_)
# Saída # 5
Surpreso com isso? Você pode encontrar todos os truques discutidos em um artigo no meu Notebook Python no Github.
Resumo
Isso conclui a discussão de hoje.. Neste artigo, nós aprendemos:
- Como tornar grandes números mais legíveis no código e na saída (10000000 uma 10,000,000)?
- Como obter uma senha como entrada de um usuário sem realmente exibi-la?
- Como usar dicionários para implementar casos de troca?
- Como economizar memória usando geradores?
Notas finais
Obrigado por ler este artigo!
Espero que tenha gostado de ler este artigo e vale a pena dedicar sua 10 minutos.
Perdi algo importante ou quero compartilhar seus pensamentos? Comente abaixo e eu te responderei.
Sobre o autor
Eu sou Harsh Dhamecha, um aspirante a cientista de dados. Sou estudante do último ano do curso de Ciência da Computação com especialização em Inteligência Artificial. Um aluno motivado que está ansioso para ajudar a comunidade de ciência de dados o máximo que puder. Acredito que o conhecimento é a moeda do século 21 e adoro compartilhá-lo.
Se você tiver alguma dúvida, pode diretamente O email eu ou conecte-se comigo no LinkedIn o Twitter para colaboração do projeto.
Se você achar este artigo instruído e envolvente, você também pode ler meus outros artigos.
Continuar lendo! Um agradecimento especial a você 🙌
A mídia mostrada neste artigo não é propriedade da DataPeaker e é usada a critério do autor.



