** * Cet article provient d'Udemy "[Introduction à Python3 enseignée par des ingénieurs actifs de la Silicon Valley + application + style de code de style américain de la Silicon Valley](https://www.udemy.com/course/python-beginner/" Introduction à Python3 enseignée par des ingénieurs actifs de la Silicon Valley + application + Style de code de style de la Silicon Valley américaine ")" C'est une note de classe pour moi après avoir suivi le cours. Il est ouvert au public avec la permission de l'instructeur Jun Sakai. ** **
positional_augment_tuple
def say_something(word1, word2, word3):
print(word1)
print(word2)
print(word3)
say_something('Hi!', 'Mike', 'Nancy')
result
Hi!
Mike
Nancy
Bien sûr, vous pouvez le définir comme mot1
, mot2
, mot3
un par un, mais
Il existe un moyen de bien le faire en appuyant sur les arguments de position.
positional_augment_tuple
def say_something(*args):
print(args)
say_something('Hi!', 'Mike', 'Nancy')
result
('Hi!', 'Mike', 'Nancy')
En préfixant l'argument à insérer dans ()
de say_something ()
avec *
Les arguments qui viennent là-dedans peuvent être exploités.
En imprimant le taple généré par ceci en tournant davantage la boucle for, la précédente peut être reproduite.
positional_augment_tuple
def say_something(*args):
for arg in args:
print(arg)
say_something('Hi!', 'Mike', 'Nancy')
result
Hi!
Mike
Nancy
positional_augment_tuple
def say_something(word, *args):
print('word =', word)
for arg in args:
print('arg =', arg)
say_something('Hi!', 'Mike', 'Nancy')
result
word = Hi!
arg = Mike
arg = Nancy
J'ai ajouté mot
comme argument à passer à say_something '.
Ensuite, seul le premier argument «Salut!» Entre d'abord «mot»,
On peut voir que les arguments suivants «Mike» et «Nancy» vont dans «* args».
positional_augment_tuple
def say_something(*args, word):
print('word =', word)
for arg in args:
print('arg =', arg)
say_something('Hi!', 'Mike', 'Nancy')
result
say_something('Hi!', 'Mike', 'Nancy')
TypeError: say_something() missing 1 required keyword-only argument: 'word'
Si vous mettez * args
en premier et word
après, vous obtiendrez une erreur.
Assurez-vous d'utiliser les arguments normaux → *
dans cet ordre.