Traduction de "keyworded" (python débutant)

Bonjour,

Comment traduiriez-vous, en français, les termes "keyworded" et "non-keyworded" ? Je les ai trouvés, concernant *arg et **kwargs, sur ce tutoriel en anglais : https://book.pythontips.com/en/latest/args_and_kwargs.html

Merci d'avance pour votre réponse.
Bonne journée.

Réponses

  • "Avec mot-clé" et "sans mot-clé" ?
  • Je pense que les exemples donnés sont clairs.
    *args fait référence à une liste alors que **kargs fait référence à un dictionnaire.
    **kargs s’utilise pour les arguments donnés avec =, *args s’utilise pour les arguments donnés sans =.
    Comme quand tu tapes f(5,h=6). Regarde les exemples de la page.
    Algebraic symbols are used when you do not know what you are talking about.
            -- Schnoebelen, Philippe
  • Merci pour vos réponses.

    Oui, j'ai compris (enfin, je crois) et testé les exemples : avec *arg on rentre les paramètres qu'on veut et avec *kwargs ont les rentre sous la forme d'un "dictionnaire".

    Mais je m'interrogeais sur la façon dont on pouvait traduire "keyworded" en français (notez que ce n'est pas "keyword" mais l'adjectif issu d'un verbe : "keyworded"). Je trouve que la proposition de Saturne n'est pas mal du tout :

    - avec *arg (non-keyworded) : sans mot-clé (on passe juste des arguments)
    - avec **kwargs (keyworded) : avec mot-clé (on passe des arguments du type <name> = <valeur>, comme dans un dictionnaire)
  • Selon mon expérience, la terminologie usuelle dans la documentation officielle de Python est :
    • positional arguments pour les arguments qui sont déterminés par l'ordre dans lequel ils figurent au sein de l'appel ;
    • keyword arguments pour ceux qui sont déterminés par le nom utilisé comme mot-clé juste avant le signe égal.
    Je ne crois pas que la documentation officielle utilise le mot keyworded.

    Si je fais :
    f(xxx, zzz, yyy, foo="bla", bar=5)
    
    avec par exemple f définie par :
    def f(a, b, *args, **kwargs):
        print(a, b)
        print("args:", repr(args))
        print("kwargs:", repr(kwargs))
    
    xxx, zzz et yyy sont des arguments positionnels ; les deux premiers sont respectivement passés aux paramètres a et b de la fonction, le troisième devient l'unique élément (ici) du tuple args. Enfin, les arguments "bla" et 5 sont passés par le mécanisme des keyword arguments et se retrouvent donc dans le dictionnaire kwargs. f(7, 8, 9, foo="bla", bar=5) affiche donc :
    7 8
    args: (9,)
    kwargs: {'foo': 'bla', 'bar': 5}
    
    Bien entendu, l'ordre d'affichage des paires (clé, valeur) associées aux clés 'foo' et 'bar' dans le dictionnaire 'kwargs' n'est pas garanti.
  • Il existe une documentation officielle en français, qui parle d'arguments positionnels et d'arguments nommés.
Connectez-vous ou Inscrivez-vous pour répondre.