Bien qu’il ait dépassé de loin la barre des 30 ans depuis sa sortie, Python reste l’un des langages de programmation de haut niveau les plus pertinents qui existent. De nombreux développeurs choisiront d’utiliser ce langage pour créer des applications qui peuvent être facilement maintenues et nécessitent une prise en main minimale pour fonctionner dans un certain nombre de systèmes d’exploitation et de distributions de Linux.
L’un des plus grands avantages de Python est sa capacité à se faufiler (jeu de mots complètement intentionnel) autour de nombreuses conventions trouvées dans d’autres langages avec peu d’effort de la part du programmeur, vous permettant de composer de petites « blagues » incroyablement simples pour faire le travail. Voici quelques exemples!
1. Permutez les variables
Parce que vous n’avez pas à gérer des choses fastidieuses comme les adresses en mémoire, échanger vos variables les unes pour les autres peut se faire en une simple ligne:
Séparez simplement chaque variable par une virgule et échangez-les !
Voici à quoi ressemblerait le concept dans un extrait:
x = 1 y = 4 x, y = y, x print(x,y)
L’exécuter dans la console devrait afficher « 4 1 ».
2. Faites une factorielle de serviette rapide
Les outils mathématiques de Python permettent à un code très créatif d’effectuer des calculs autrement complexes. Par exemple, quel est le moyen le plus rapide de trouver le nombre de façons dont un certain nombre d’objets peuvent être disposés ? Faites une factorielle. Avec le reduce()
appelez, vous trouverez rapidement la réponse !
reduce(lambda a, b: a * b, range(1, x+1)
Cet appel calculera la factorielle de tout nombre que vous avez précédemment défini dans « x ».
N’oublie pas ça reduce()
est une composante de Python outils de fonction bibliothèque. Voici à quoi ressemble le code dans un extrait:
from functools import reduce x = 12 print(reduce(lambda a, b: a * b, range(1, x+1)))
Votre console devrait afficher 479001600 à partir de ce calcul particulier. Allez-y et faites « x » ce que vous voulez !
3. Initialiser et déclarer plusieurs variables
Les règles de syntaxe de Python vous permettent de faire des choses assez folles. Par exemple, initialisez et déclarez autant de variables que vous le souhaitez en une seule fois. Ceci plutôt que de le faire ligne par ligne.
Imprimez-les et vous obtiendrez « 16 78 195 ». La chose intéressante est que vous n’avez même pas à vous limiter à déclarer un type de variable dans une ligne. Remplacez la déclaration « y » par une chaîne comme « Hi » et tout ira bien !
4. Ouvrir et lire un fichier
Python vous oblige à parcourir un fichier ligne par ligne comme vous le feriez dans de nombreux autres langages. Même ainsi, cela vous donne la possibilité d’implémenter l’intégralité de la fonction d’ouverture et de lecture du fichier en une seule ligne de code :
[line.strip() for line in open('file.txt')]
Maintenant, si je veux juste afficher le texte de mon propre fichier de configuration bash par défaut, voici ce que j’écrirais :
[print(line.strip()) for line in open('/home/miguel/.bashrc')]
5. Écrire dans un fichier
Tout comme pour la lecture d’un fichier, le processus d’écriture dans un fichier est assez simple dans ce langage astucieux.
with open("file.txt",'a',newline='\n') as f: f.write("This is a new line in a file")
La avec L’instruction dans Python vous permet d’éviter d’avoir à fermer le descripteur de fichier. Par conséquent, cela n’entrera pas en conflit avec d’autres applications qui tenteraient d’y accéder pendant que la vôtre est ouverte.
Vous pouvez maintenant utiliser le one-liner que vous avez appris pour lire un fichier pour vérifier si cette ligne a été ajoutée correctement !
[print(line.strip()) for line in open('file.txt')]
6. Créez une liste de nombres variés
De la même manière que d’autres langages de script comme LUA, Python vous permet de générer des listes pré-remplies tant que les opérations conduisent à un résultat prévisible. Dans cet extrait, nous créons une liste de 10 entiers allant de 0 à 9 :
lst = [i for i in range(0,10)]
L’impression de cette liste donnera une liste de nombres séparés par des virgules avec les paramètres dont nous avons parlé précédemment.
7. Afficher tous les utilisateurs (sous Linux/Unix/BSD)
Vous êtes-vous déjà demandé combien de noms d’utilisateurs il y a réellement dans votre installation Linux particulière ? Python a un excellent moyen de le faire en une seule ligne en ouvrant votre fichier « /etc/passwd ». Tout ce que nous avons à faire dans ce cas est de tout supprimer à partir du premier deux-points (« : ») de chaque ligne.
print('\n'.join(line.split(":",1)[0] for line in open("/etc/passwd")))
Si vous n’avez pas fouillé dans ce fichier, vous serez peut-être surpris de constater qu’il y a beaucoup plus d’utilisateurs créés par votre système que celui avec lequel vous vous connectez et l’utilisateur root.
Les listes d’utilisateurs sont normalement aussi longues car le système crée ses propres formes d’authentification en fonction des services que vous exécutez.
8. Générer un mot de passe aléatoire
Comme tout langage qui se respecte, Python vous permet de randomiser les choses, mais il ne peut s’empêcher d’aller plus loin et de vous permettre de générer un mot de passe en une seule ligne. C’est vrai que c’est très long..
pwd = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 %^*(-_=+)'; print(''.join([pwd[random.randint(0,len(pwd)-1)] for i in range(32)]))
Cet extrait particulier générera un mot de passe de 32 caractères qui autorise les espaces. Ajustez à votre guise. Si vous ne voulez pas d’espace dans le mot de passe pour une raison quelconque, supprimez l’espace dans la déclaration de chaîne. N’oubliez pas d’importer la bibliothèque « aléatoire », sinon votre code ne fonctionnera pas !
9. Trouver des instances de n’importe quoi dans le texte
Si vous lisez un fichier plus long et que vous essayez de trouver combien d’instances d’une expression particulière existent à l’intérieur, il y a un petit zinger pour cela :
import re; len(re.findall('d','The dumb lazy cat doesn\'t know how to hunt birds.'))
Dans cet exemple particulier, nous essayons de trouver combien de fois la lettre « d » apparaît dans la chaîne qui la suit. En imprimant la sortie, la console nous fait savoir qu’il y a 3 instances de la lettre. Vous pouvez le faire avec des mots entiers et effectuer une recherche dans un fichier.
10. Convertir des expressions hexadécimales en texte brut
Avec un peu de magie itérative, il est possible de convertir du code hexadécimal en texte brut en une simple expression:
print(''.join(chr(int(''.join(i), 16)) for i in zip(*[iter('576f772c2049276d2077726974696e6720696e2068657861646563696d616c21')]*2)))
Le gros tas de charabia à l’intérieur iter() est une expression hexadécimale que ce code convertit pour lire « Wow, j’écris en hexadécimal! »
Questions fréquemment posées
Quelle est la difficulté de Python par rapport aux autres langages ?
Bien qu’il présente quelques défauts propres à certains styles de codage, Python offre une atmosphère beaucoup plus conviviale pour les débutants que d’autres langages en raison de sa flexibilité avec les types de variables. C’est un langage interprété, vous n’avez donc pas besoin de gérer l’ennui d’allouer de la mémoire à la main et de vous assurer qu’elle est libérée lorsqu’elle n’est plus utilisée.
Python est-il stable ?
Les développeurs de Python sont fermement opposés à l’idée d’invalider l’ancien code avec de nouvelles versions et ont toujours été très prudents pour assurer la rétrocompatibilité avec un code beaucoup plus ancien. En 2005, la communauté Python a dû faire face à un problème difficile car reduce()
et un certain nombre d’autres fonctions ont été supprimé de la bibliothèque standard et devait être importé d’un autre à partir de Python 3000. En général, ces choses sont annoncées et si votre code cesse de s’exécuter correctement, la console fournit des informations utiles qui vous permettent de découvrir pourquoi et de faire des ajustements en conséquence.
Quel est le meilleur environnement de développement pour Python ?
Si vous souhaitez utiliser un environnement de développement intégré pour Python, vous disposez de quelques options qui fonctionnent sur tous les systèmes d’exploitation :
- PyCharmName – Utilisez ceci si vous voulez vraiment vous consacrer à Python. Cet IDE est spécialisé uniquement en Python et contient un nombre important d’outils et de bibliothèques qui peuvent vous aider à coder de manière fluide.
- Code Visual Studio – Si vous cherchez à vous diversifier éventuellement et à apprendre d’autres langages, VSCode (connu sous Linux parfois sous le nom de Code – OSS et dans Arch Linux sous le nom de package « code ») fournit une multitude de fonctionnalités ainsi qu’un compilateur intégré pour un grand variété de langues.
- Vigueur – il permet une édition de texte complexe très rapide depuis n’importe quel émulateur de terminal. Il a une courbe d’apprentissage élevée mais devrait être dans l’arsenal de chaque programmeur.