Python >> Tutoriel Python >  >> Python

Comment écrire plusieurs instructions sur une seule ligne en Python ?

Problème :Compte tenu de plusieurs instructions Python. Comment les écrire en Python One-Liner ?

Exemple  :Considérons l'exemple suivant de quatre instructions dans un bloc avec une indentation uniforme :

a = 1
b = 2
c = a + b
print(c)

Chacune des quatre instructions est écrite sur une ligne distincte dans un éditeur de code - c'est la procédure normale. Cependant, que se passe-t-il si vous souhaitez les uniriser :

Comment écrire les quatre instructions en une seule ligne de code ?

Solution :La réponse est simple si toutes les instructions ont une indentation uniforme et qu'il n'y a pas de bloc imbriqué. Dans ce cas, vous pouvez utiliser le point-virgule comme séparateur entre les déclarations :

a = 1; b = 2; c = a + b; print(c)

Faisons quelques tests pratiques pour apprendre et améliorer vos compétences Python :

Exercice :one-linerize le code donné ! Exécutez le code et vérifiez si le one-liner fait la même chose que le code d'origine !

Bloc indenté

Bien que cela fonctionne à merveille, si toutes les instructions ne sont pas en retrait - cela fonctionne-t-il toujours si vous avez un bloc d'indentation qui commence par les deux-points : symbole après if , elif , else , for , while , ou try/except déclarations ?

Voici un exemple d'un tel bloc :

for i in range(10):
   c = i ** 2
   print (c)

Vous essayez la ligne suivante en utilisant le point-virgule comme séparateur entre les deux instructions du bloc

for i in range(10): c = i ** 2; print(c)
'''
0
1
4
9
16
25
36
49
64
81
'''

Cela fonctionne à merveille et Python comprend ce que vous essayez de faire. Cependant, si vous avez des blocs d'indentation imbriqués, cela ne fonctionne plus.

Prenons l'exemple suivant :

for i in range(3):
    for j in range(3):
        print(i, j)

Si vous écrivez ceci sur une seule ligne, Python génère une erreur de syntaxe :

Bien que vous puissiez discuter si cela a du sens ou non, étant donné que la syntaxe n'est pas ambiguë ici, cela ne change rien au fait :le bloc imbriqué ne peut pas être linéarisé de manière simple. Mais cela ne nous empêche pas de le faire, n'est-ce pas ?

Blocs d'indentation imbriqués

Lisez l'article suivant pour savoir comment compresser plusieurs lignes de code en une seule ligne !

Résumé  :Pour créer une ligne Python à partir de n'importe quel script Python multiligne, remplacez les nouvelles lignes par un caractère de nouvelle ligne '\n' et passez le résultat dans le exec(...) fonction. Vous pouvez exécuter ce script depuis l'extérieur (ligne de commande, shell, terminal) en utilisant la commande python -c "exec(...)" .

Cette méthode est très puissante et vous permet de compresser n'importe quel script multi-lignes compliqué en une seule ligne de code Python !

Livre Python One-Liners :maîtrisez d'abord la ligne unique !

Les programmeurs Python amélioreront leurs compétences en informatique avec ces lignes utiles.

Python One-Liners vous apprendra à lire et à écrire des « lignes simples » :des déclarations concises de fonctionnalités utiles regroupées dans une seule ligne de code. Vous apprendrez à décompresser et à comprendre systématiquement n'importe quelle ligne de code Python, et à écrire du Python éloquent et puissamment compressé comme un expert.

Les cinq chapitres du livre couvrent (1) les trucs et astuces, (2) les expressions régulières, (3) l'apprentissage automatique, (4) les principaux sujets de science des données et (5) les algorithmes utiles.

Des explications détaillées des one-liners introduisent les concepts clés de l'informatique etdéveloppez vos compétences en matière de codage et d'analyse . Vous découvrirez les fonctionnalités Python avancées telles que la compréhension de liste , tranchage , fonctions lambda , expressions régulières , carte et réduire fonctions et affectations de tranches .

Vous apprendrez également à :

  • Exploiter les structures de données pour résoudre des problèmes réels , comme utiliser l'indexation booléenne pour trouver des villes avec une pollution supérieure à la moyenne
  • Utiliser les bases de NumPy comme tableau , forme , axe , tapez , diffusion , indexation avancée , tranchage , tri , recherche , agrégation , et statistiques
  • Calculer des statistiques de base de tableaux de données multidimensionnels et les algorithmes K-Means pour l'apprentissage non supervisé
  • Créer davantage d'expressions régulières avancées en utilisant le regroupement et groupes nommés , anticipations négatives , caractères échappés , espaces blancs, jeux de caractères (et jeux de caractères négatifs ) et opérateurs gourmands/non gourmands
  • Comprendre un large éventail de sujets informatiques , y compris les anagrammes , palindromes , surensembles , permutations , factorielles , nombres premiers , Fibonacci chiffres, obscurcissement , recherche , et tri algorithmique

À la fin du livre, vous saurez comment écrire Python dans sa forme la plus raffinée , et créez de belles pièces concises d'"art Python" en une seule ligne.

Obtenez vos Python One-Liners sur Amazon !!