• [^] # Re: J'aime pas les %

    Posté par (site web personnel) . En réponse au journal Il faut sauver le soldat %. Évalué à 3.

    C'est n'importe quoi comme argument de vouloir supprimer le % parce les tuples singleton sont laids.

    Non, j'essayais de dire que .format() n'a pas deux formes pour les arguments indexés (en opposition aux arguments nommés) :
    * "%s" % x
    * "%s" % (a, b)
    Dans le 1er cas, le comportement change selon que x est un tuple ou non. On peut tomber dans le panneau.

    Tandis qu'avec format :
    * "{0}".format(x)
    * "{1}, {2}".format(a, b)

    La syntaxe est homogène et ne prête à confusion. Pour reproduire le comportement « args=("cle", "valeur"); "%s=%s" % args », on doit utiliser le caractère étoile qui indique explicitement d'on « déroule » le tuple : "{0}={1}".format(*args).