Cet article a été publié dans le cadre du Blogathon sur la science des données
introduction
Avez-vous déjà voulu écrire du code Python meilleur et plus court? Comment répliquer les boîtiers Switch traditionnels en Python? Je t'ai couvert. Dans cet article, nous discuterons 5 Conseil / Astuces Python pour écrire un code meilleur et plus court. Alors commençons!
Noter: Plus court ne veut pas toujours dire meilleur. Votre code doit être Facile à lire et à comprendre.
Nous nous concentrerons sur une rédaction plus courte et Plus lisible code dans cet article. Spécifiquement, nous apprendrons:
- Comment rendre les grands nombres plus lisibles dans le code et la sortie (10000000 une 10,000,000)?
- Comment prendre un mot de passe comme entrée d'un utilisateur sans l'afficher réellement?
- Comment utiliser des dictionnaires pour implémenter des cas de commutation?
- Comment économiser de la mémoire à l'aide de générateurs?
Table des matières
- Conditionnels ternaires
- Travailler avec de grands nombres
- Saisir des informations secrètes
- Utilisez le dictionnaire pour reproduire les cas de commutation
- Utiliser des générateurs pour économiser de la mémoire
- Astuce bonus
- résumé
- Remarques finales
Conditionnels ternaires
Tomemos una situación en la que está asignando un valor a la variableEn statistique et en mathématiques, ongle "variable" est un symbole qui représente une valeur qui peut changer ou varier. Il existe différents types de variables, et qualitatif, qui décrivent des caractéristiques non numériques, et quantitatif, représentation de grandeurs numériques. Les variables sont fondamentales dans les expériences et les études, puisqu’ils permettent l’analyse des relations et des modèles entre différents éléments, faciliter la compréhension de phénomènes complexes.... en función de alguna condición. Vous écririez probablement quelque chose comme ce qui suit:
condition = Faux
si état:
x = 1
autre:
x = 0
imprimer(X)
Le code ci-dessus fonctionne correctement, mais pensez-vous que c'est pythonique? Ce n'est pas ça. Ensuite, pour rendre votre code pythonique, vous pouvez trouver quelque chose comme ce qui suit:
condition = Faux x = 1 si condition autre 0 imprimer(X)
x = 1 si la condition else 0 est en anglais simple et explicite. Donc, rend notre code plus court et facile à comprendre.
On obtiendrait le même résultat dans les deux sens.
Passons à une autre astuce.
Travailler avec de grands nombres
Parlons maintenant de mon tour préféré. Avez-vous déjà travaillé avec de grands nombres? 1000000000 O 1.000.000.000; Ce qui est plus lisible? Le deuxième, vérité? Mais si nous essayons de le faire en Python comme nombre1 = 1,000,000,000, nous obtiendrions une erreur.
Mais il existe une autre méthode pour faire la même chose. On peut utiliser _ séparer les chiffres qui n'affectent pas notre programme. Et nous pouvons utiliser :, à l'intérieur de la chaîne f pour séparer les chiffres de sortie par une virgule. Le code suivant montre le même.
num1 = 1_000_000_000 # 1 milliard
num2 = 10_000_000 # 10 million
total = nombre1 + nombre2
imprimer(f'{le total:,}') # Pour séparer les chiffres de sortie par une virgule
# Sortir # 1,010,000,000
N'est-ce pas incroyable? En réalité, il est.
Saisir des informations secrètes
Disons que vous prenez le nom d'utilisateur et le mot de passe comme entrée utilisateur. Je choisirais sûrement l'approche suivante.
uname = entrée('Enter Username: ') mot de passe = entrée('Enter password: ') imprimer('Logging In....')
Production:

Image de l'auteur
Mais n'importe qui peut voir ce mot de passe et cela viole la sécurité. Ensuite, pour le rendre plus sûr, nous utiliserions le obtenir un laissez-passer module.
depuis getpass importer getpass uname = entrée('Enter Username: ') pwd = getpass('Enter password: ') imprimer('Logging In....')
Production:

Image de l'auteur
Avez-vous remarqué la différence? D'accord, ça sonne bien. Passons à une autre astuce.
Utilisez le dictionnaire pour reproduire les cas de commutation
La plupart d'entre nous apprennent le langage C comme premier langage de programmation. J'ai trouvé que les boîtiers de commutation étaient le concept le plus simple mais le plus important du langage C. C'était le premier concept que j'ai appris en programmation qui a des applications dans le monde réel. Nous pouvons réfléchir à votre candidature lors d'appels au service client.
Beaucoup de fois, Les programmeurs Python débutants ont des doutes sur l'application des cas de commutation à l'aide de Python. Nous pouvons utiliser le dictionnaire Python pour faire cela dans lequel nous définissons le nom de la fonction en tant que clé et l'expression de la fonction en tant que valeur. Le programme suivant démontre la même.
calc = {
'add': lambda x, Oui: X + Oui,
'subtract': lambda x, Oui: X - Oui,
'mul': lambda x, Oui: X * Oui,
'div': lambda x, Oui: X / Oui
}
# Manière intelligente d'appeler une fonction définie dans un dictionnaire.
imprimer(calc['add'](5, 4))
imprimer(calc['subtract'](5, 2))
imprimer(calc['mul'](5, 4))
imprimer(calc['div'](10, 2))
Production:

Image de l'auteur
Utiliser des générateurs pour économiser de la mémoire
Disons que nous avons une très grande liste. Ensuite, ici nous avons 10,000 éléments dans la liste et nous voulons calculer le carré de chaque élément. On peut faire ça avec la liste des compréhensions avec le code qui ressemble à ce qui suit.
importer le système liste_carrés = [i*i pour i dans la plage(10_000)] # Pour imprimer la taille d'une variable imprimer(sys.getsizeof(liste_carrés, "octets"))
# Sortir # 87632
Ensuite, c'est un exemple parfait où nous pouvons utiliser des générateurs. Similaire aux listes de compréhension, nous pouvons utiliser des compréhensions de générateur où nous avons des parenthèses au lieu d'accolades. Un générateur calcule nos éléments paresseusement. Donc, ne produit qu'un article à la fois et uniquement sur demande. Vous pouvez en savoir plus sur les générateurs ici. Le programme suivant calcule le carré de chaque nombre jusqu'à 10000 utiliser les compréhensions du générateur.
squares_gen = (i*i pour i dans la plage(10_000)) # Pour imprimer la taille d'une variable imprimer(sys.getsizeof(squares_gen, "octets"))
# Sortir # 128
C'est une différence assez notable dans l'utilisation de la mémoire.. À présent, essayez d'obtenir les plus grands nombres par vous-même. je verrais une grosse différence!
Astuce bonus
Utiliser l'opérateur interactif « _ »
Discutons de notre dernier conseil. C'est une fonctionnalité utile que peu d'entre nous connaissent.. Chaque fois que nous testons une expression ou appelons une fonction, le résultat est envoyé à un nom temporaire, _ (un trait de soulignement). Ensuite, prouvons cela.
2 + 3
# Sortir # 5
À présent, exécuter le code suivant.
imprimer(_)
# Sortir # 5
Surpris par cela? Vous pouvez trouver toutes les astuces discutées dans un article de mon Bloc-notes Python sur Github.
résumé
Cela termine la discussion d'aujourd'hui.. Dans cet article, nous avons appris:
- Comment rendre les grands nombres plus lisibles dans le code et la sortie (10000000 une 10,000,000)?
- Comment prendre un mot de passe comme entrée d'un utilisateur sans l'afficher réellement?
- Comment utiliser des dictionnaires pour implémenter des cas de commutation?
- Comment économiser de la mémoire à l'aide de générateurs?
Remarques finales
Merci d'avoir lu cet article!
J'espère que vous avez apprécié la lecture de cet article et qu'il vaut la peine de consacrer votre 10 minutes.
Ai-je manqué quelque chose d'important ou est-ce que je voulais partager vos pensées? Commentez ci-dessous et je vous répondrai.
A propos de l'auteur
Je suis dur Dhamecha, un chercheur de données en herbe. Je suis étudiant en dernière année de licence Informatique avec une spécialisation en Intelligence Artificielle. Un étudiant motivé et désireux d'aider autant que possible la communauté de la science des données. Je crois que la connaissance est la monnaie du 21ème siècle et j'aime la partager.
Si vous avez une requête, peut directement E-mail moi ou connectez-vous avec moi sur LinkedIn O Twitter pour la collaboration de projet.
Si vous trouvez cet article bien informé et intéressant, vous pouvez aussi lire mes autres articles.
Continuer à lire! Un merci spécial à vous
Les médias présentés dans cet article ne sont pas la propriété de DataPeaker et sont utilisés à la discrétion de l'auteur.



