Python >> Tutoriel Python >  >> Python

Python définit plusieurs variables sur une seule ligne

Dans cet article, vous découvrirez deux variantes de ce problème.

  • Attribuer plusieurs valeurs à plusieurs variables
  • Attribuer la même valeur à plusieurs variables

Voyons un aperçu rapide des deux dans notre shell de code interactif :

Exercice  :Augmentez le nombre de variables à 3 et créez un nouveau one-liner !

Plongeons-nous plus en détail dans les deux sous-thèmes !

Attribuer plusieurs valeurs à plusieurs variables [One-Liner]

Vous pouvez utiliser la fonctionnalité Python de affectations multiples pour attribuer plusieurs valeurs à plusieurs variables. Voici l'exemple minimal :

a, b = 1, 2

print(a)
# 1

print(b)
# 2

You can use the same syntax to assign three or more values to three or more variables in a single line of code:
a, b, c, d = 1, 2, 3, 4

print(a, b, c, d)
# 1 2 3 4

La plupart des codeurs considéreraient cela comme plus lisible et concis que le multiligne :

a = 1
b = 2
c = 3
d = 4

print(a, b, c, d)
# 1 2 3 4

Explication Affectation multiple

La syntaxe des affectations multiples fonctionne comme suit.

  • En utilisant une séquence de valeurs séparées par des virgules sur le côté droit de l'équation, vous créez un tuple sur le côté droit.
  • Maintenant, vous décompressez le tuple dans les variables déclarées sur le côté gauche de l'équation.

Voici un exemple de code minimal qui montre que vous pouvez créer un tuple sans la syntaxe habituelle des parenthèses :

>>> a = 1, 2
>>> print(a)
(1, 2)
>>> print(type(a))
<class 'tuple'>

Ceci explique pourquoi la affectation multiple l'opérateur n'est pas quelque chose dont vous devez vous souvenir, si vous avez compris son concept sous-jacent.

La syntaxe de décompression en Python est importante pour de nombreuses autres fonctionnalités Python. Cela fonctionne comme suit :vous extrayez un itérable de plusieurs valeurs dans une structure externe de plusieurs variables.

Vous pouvez également le combiner en dégroupant, par exemple, trois valeurs en deux variables :

*a, b = 1, 2, 3

print(a)
# [1, 2]

print(b)
# 3

L'opérateur astérisque placé devant une variable indique à Python de décompresser autant de valeurs que possible dans cette variable. Rappelez-vous, il y a un tuple sur le côté droit de l'équation avec trois valeurs. Python reconnaît que la troisième valeur sera placée dans la variable b . Les deux autres valeurs doivent être placées dans la variable a pour produire un devoir valide.

Notez qu'il n'est pas nécessaire que toutes les valeurs de votre ligne d'affectation multiple aient le même type :

a, b, c = 'hello', 42, 3.14

print(a, b, c)
# hello 42 3.14

La première valeur est de type chaîne, la seconde de type entier et la troisième de type flottant.

Mais attention, si le nombre de variables à gauche ne correspond pas au nombre de valeurs dans l'itérable à droite, Python lance un ValueError !

Voici un exemple :

a, b, c = 1, 2

'''
Traceback (most recent call last):
  File "C:\Users\xcent\Desktop\code.py", line 1, in <module>
    a, b, c = 1, 2
ValueError: not enough values to unpack (expected 3, got 2)
'''

Attribuer la même valeur à plusieurs variables [One-Liner]

Vous pouvez utiliser plusieurs = symboles pour attribuer plusieurs valeurs à plusieurs variables. Créez simplement une chaîne d'affectations comme celle-ci :

a = b = 1

print(a)
# 1

print(b)
# 1

Cela fonctionne également pour plus de deux variables :

a = b = c = [1, 2, 3]

print(a)
# [1, 2, 3]

print(b)
# [1, 2, 3]

print(c)
# [1, 2, 3]

Dans cet exemple, vous affectez le même objet (une liste Python) aux trois variables.

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 !!


Post précédent
Prochain article