Skip to main content

Nous savons tous que Python est un langage très flexible que s'il ne s'agit pas de votre langue maternelle, vous constaterez que cela peut toujours vous fournir de nombreuses surprises différentes, s'il vous plaît afin que vous ne puissiez pas vous aider, mais merci: WOC, a une telle opération . Surtout avant d'étudier Python, je suis né à l'arrière de Java. Chaque étape m'a presque fait sentir que j'ai ouvert la porte du Nouveau Monde. Aujourd'hui, je vais introduire l'une des personnes les plus fondamentales, très facile à utiliser, mais beaucoup de gens ne savent pas.


1. UNZIP variable

Nous savons tous que Python permet la cession de nombreuses variables, telles que des échanges célèbres, y compris deux facteurs, s'il est en langue C ++ ou Java, Si cela ne passe pas la fonction, vous devez introduire une troisième variable, telle que:


# swap a, bc = aa = bb = c
Nous voulons échanger A et B à l'introduction du sexe C, car lorsque nous sommes attribués une valeur B. Pour A, la valeur initiale sera perdue, donc le premier cLes coquilles doivent "cache

". Cependant, comme l'opération de Python prend en charge une assistance multi-variable, il peut être fait, il n'est donc pas nécessaire d'introduire d'autres variables. L'échange de deux éléments ne peut donc être effectué que dans Python:

a, b = b, a EXPLICATION DISPOSITIF PYTHON Calculez directement la valeur du dos, puis écrasez-la à gauche, attribuez la valeur en même temps, il n'est donc pas nécessaire d'introduire d'autres variables et il semble très passionné.

De plus, Python prend également en charge l'extraction des tuples et des listes.


Il existe un exemple, supposons que nous ayons un tableau binaire: [1, 2], nous espérons obtenir le premier et le premier en deux variables, nous sommes sûrs que vous pouvez écrire ceci:

Ce n'est vraiment pas gênant, car lorsque Python a découvert que le panneau avec de nombreuses variables, la droite est la liste ou le tuple, exécutera automatiquement la liste des listes et des tuples, il attribuera un élément correspondant pour un moment, donc le code ci-dessus peut être eTout simplement: l = [1, 2]a, b = l[0], l[1]

Si L est une matrice bidimensionnelle, que voulons-nous y passer? Il peut également être utilisé dans les cycles: l = [1, 2]a, b = l
Même dans la combinaison de variables peut également être valide:
l = [1, 2], [3, 4], [5, 6]for i, j in l: print(i, j)

Lorsque nous exécutons ce code, que vais-je sortir de celui-ci signalerra mal? Toujours décompressé (4, 5) ce tuple puis spécifie 4 à c? Non, la sortie de la sortie est (4, 5), c'est-à-dire Python trouvée le nombre de variables effectuera automatiquement l'ensemble désigné. Non seulement cela, même en dessous, Python peut reconnaître automatiquement:

a, b, c = 1, 3, (4, 5)print(c) Dans l'exercice suivant, les deux tupes ont des facteurs communs et nos variables sont également incorporées. Tuple, à ce stade, Python reconnaît également (4, 5) pour attribuer (C, D), qui est respectivement 4 et 5 spécifiant des valeurs pour C et D, respectivement.

Lundi, l'élément par défaut a, b, (c, d), e = 1, 3, (4, 5), 7print(c, d)
Dans certains cas, nous avons l'école dont nous n'avons pas besoin lorsque vous obtenez les éléments. Bien que Python soit très pratique, chNous devons encore mettre des variables pour des données dont nous n'avons pas besoin. Dans certains cas, cela conduira à des déchets de mémoire et cela ne répondra pas à nos spécifications de programmation, à savoir

toutes les variables doivent être utilisées sur le terrain

. Pour résoudre ce problème, Python fournit une méthode par défaut d'un facteur. Nous pouvons utiliser _ pour exprimer une valeur par défaut et les données correspondantes ne seront pas stockées, uniquement pour faciliter notre "collecte".


Exemple: L'exemple ci-dessus est utilisé et le format des données source telles que celle-ci: 1, 3, (4, 5), 7, mais nous n'avons besoin que du groupe intermédiaire, nous pouvons obtenir cette :

, par exemple, lorsque nous passons par dict, nous ne faisons peut-être pas attention à la clé de la dicte, veulent simplement recevoir de la valeur, cette fois, vous pouvez utiliser la valeur par défaut. Symbole:

3, compression variable

car les variables peuvent extraire, il est également possible de compresser. ImaginerUn script, tel qu'un lot de pièces de mesure de données de l'usine, contenant le nom, la date de production et le nom d'usine, V.V. En plus de la taille de la section et d'autres attributs. Supposons que nous voulions résoudre ces données et stocker la taille de la section dans la matrice, que dois-je faire à ce moment-là? _, _, (c, d), _ = 1, 3, (4, 5), 7
Exemple: Les spécifications des données des pièces sont comme ceci: roues, usines1, 3, 4, 5, 6, 202042-02
Python fournit également une solution à cette méthode de problème, compression variable caractère *, pour le problème ci-dessus, nous pouvons écrire: a = {}for _, v in a.items(): print(v)


Enfin, nous l'imprimez [3, 4, 5, 6], qui disent à utiliser *, nous avons attribué avec succès le données dans la taille de la pièce dans un tableau. Cette activité est très importante car il est possible de former différentes parties différentes parties, si nous écrivons de l'analyse, il est difficile de gérer ce problème. Utilisation de l'opérateur * à Python, nous pouvons très bien résoudre ce problème.




Introduction de l'utilisation des icônes par défaut, introduisant l'utilisation de symboles comprimés, le problème viendra, nous ne pouvons pas utiliser deux icônes data = ['wheel', 'factory1', 3, 4, 5, 6, '2020-02-02']name, factory, *inch, date = dataprint(inch) pour utiliser
, recevoir des valeurs quels sont les données par défaut?
Bien sûr, c'est bien, ou juste un problème, supposons que nous ne nous soucions pas de la taille de la section, vous souhaitez les filtrer, nous devons simplement modifier le code ci-dessus:
[

Nous remplissons donc des informations sur la taille au centre, il suffit de conserver d'autres informations.

Année, autre utilisation

Je n'ai pas terminé ici, je ne sais pas si les gens voient * ce symbole d'activité ne le fait pas. Pas de liens. Si vous en savez plus sur Python, vous devriez penser à Python. Si nous voulons une fonction de recevoir des paramètres, nous pouvons écrire:



Dans lesquels args représente vraiment un tableau KW représentant une corruption en utilisant, nous savons tous. Mais quel est le front * et **? data = ['wheel', 'factory1', 3, 4, 5, 6, '2020-02-02']name, factory, *_, date = data * Représenter de fausses tableauxJe compresse et * extrait naturellement dict. Considérons un exemple:

Quelle est la différence entre l'impression (a) et l'impression (* a)? Si vous le trouverez, imprimez une directe, le résultat est [1, 3, 5], si vous imprimez * A, le résultat est de 1, 3, 5. Cela signifie que, autrefois, une matrice de fin de sortie, est une variable, plus tard , décompressé et fonctionne en trois sorties variables. Ensuite, une vérité similaire, ** KW, il extraire kw comme dict comme dict, développer comme verrouillage: valeur. Toutefois, si vous appelez directement ** kw, vous aurez une erreur, cette opération ne peut être utilisée que lorsque la fonction est distribuée.

Alors ici, nous comprenons pourquoi * args et ** kw peut représenter tous les paramètres. Parce que précédemment représente les paramètres requis directement transmis, puis représentent les paramètres par défaut de la valeur par défaut. C'est pourquoi Python définit le paramètre par défaut. La raison pour laquelle les paramètres par défaut doivent être placés derrière, d'une part, pour
d'éliminer le vague

et d'autre part, bienPeut utiliser * args, ** kw est unifié.

Le contenu d'aujourd'hui est très simple, mais souvent utilisé dans le code réel, il peut simplifier de nombreux niveaux de difficulté de notre cryptage et de notre code du code, donc si vous êtes intéressé par Python, c'est conseillé.Apprendre.

L'article d'aujourd'hui est ces choses, si vous pensez que vous avez reçu, veuillez cliquer sur

pour voir def func(*args, **kw): pass ou
vers l'avant

s'il vous plaît prenez votre main.Très important.

Sujets

Catégories