Comments on: % ou format() en Python ? http://sametmax.com/ou-format-en-python/ Du code, du cul Sat, 07 Nov 2015 11:08:18 +0000 hourly 1 http://wordpress.org/?v=4.1 By: Sam http://sametmax.com/ou-format-en-python/#comment-164345 Thu, 10 Sep 2015 19:39:36 +0000 http://sametmax.com/?p=6416#comment-164345 "3a={} 3b={}".format(*vars)

]]>
By: Larvis http://sametmax.com/ou-format-en-python/#comment-164343 Thu, 10 Sep 2015 15:54:42 +0000 http://sametmax.com/?p=6416#comment-164343 Oups l’équivalent avec format() ?

]]>
By: Sam http://sametmax.com/ou-format-en-python/#comment-164342 Thu, 10 Sep 2015 15:25:44 +0000 http://sametmax.com/?p=6416#comment-164342 Wut ?

]]>
By: Larvis http://sametmax.com/ou-format-en-python/#comment-164338 Thu, 10 Sep 2015 14:21:12 +0000 http://sametmax.com/?p=6416#comment-164338 Cela peut aussi servir :

>>> vars = ['aaa', 'bbb']
      >>>"3a=%s 3b=%s" % tuple(vars)
         '3a=aaa 3b=bbb'

Quel est l’équivalent avec % ?

]]>
By: Anne Onyme http://sametmax.com/ou-format-en-python/#comment-164336 Thu, 10 Sep 2015 13:33:40 +0000 http://sametmax.com/?p=6416#comment-164336 Et pour les maniaques du slip: https://pyformat.info/.

]]>
By: Sam http://sametmax.com/ou-format-en-python/#comment-164310 Tue, 08 Sep 2015 23:38:45 +0000 http://sametmax.com/?p=6416#comment-164310 Dans ton dernier exemple, la ligne est énorme et illisible, et viole tellement le PEP 8 que Guido hésite a porter plainte pour agression sexuelle. Une ligne comme ça, on la met forcément sur deux lignes.

]]>
By: Fred http://sametmax.com/ou-format-en-python/#comment-164307 Tue, 08 Sep 2015 17:16:41 +0000 http://sametmax.com/?p=6416#comment-164307 Je suis revenu sur cet article suite à la mise à jour annoncée par mail.

Juste pour rajouter 2 remarques

1) concernant la remarque de Romain sur le fait d’utiliser plusieurs fois le même terme, on peut faire aussi la même chose avec %

=> print “%(x)s %(x)s %(x)s” % {“x” : “bon”}

2) l’équivalent qui affiche la date possède une variable inutile

=> “%(value)s%(unit)s (%(time)s)” % {“value”: 3, “unit”: “ppm”, “time”: datetime.now().strftime(“%H:%M:%S”)}

Ben oui, quand on veut être honnête on essaye d’écrire un code similaire au-moins dans ses variables ;)

]]>
By: ice3 http://sametmax.com/ou-format-en-python/#comment-164299 Tue, 08 Sep 2015 10:20:44 +0000 http://sametmax.com/?p=6416#comment-164299 Pour les usages plus avancés, il y a même un DSL de formattage dans “format”

Du coup, on peut séparer la représentation des données, pour les nombres :

Pour faire du padding

 
a = "{:02}.png"
 
a.format(1)  # 01.png
 
a.format(30) # 30.png

Ca évite d’utiliser les “zfills” et companie

On peut même faire des conversions de base pour les nombres (ici du décimal au binaire) :

 
a = "{:b}"
 
a.format(50) # '110010'

Plus d’infos : https://docs.python.org/2/library/string.html#format-specification-mini-language

]]>
By: Sam http://sametmax.com/ou-format-en-python/#comment-11846 Tue, 30 Jul 2013 10:58:58 +0000 http://sametmax.com/?p=6416#comment-11846 C’est ce que je croyais aussi, mais en fait il est toujours là dans les dernières versions de Python 3.

]]>
By: JeromeJ http://sametmax.com/ou-format-en-python/#comment-11822 Tue, 30 Jul 2013 01:01:25 +0000 http://sametmax.com/?p=6416#comment-11822 Salut,

Le “old %-formatting” est déprécié depuis 2.6.

http://docs.python.org/library/stdtypes.html#str.format

]]>