Comments on: Alternative au do…while en Python http://sametmax.com/alternative-au-do-while-en-python/ Du code, du cul Mon, 28 Oct 2019 11:54:55 +0000 hourly 1 https://wordpress.org/?v=4.9.7 By: Matheod http://sametmax.com/alternative-au-do-while-en-python/#comment-188798 Fri, 11 Aug 2017 19:53:58 +0000 http://sametmax.com/?p=23459#comment-188798 Sinon :

first = true

while first or xxx :

first = false

#code

]]>
By: Sam http://sametmax.com/alternative-au-do-while-en-python/#comment-188575 Sat, 29 Jul 2017 08:11:57 +0000 http://sametmax.com/?p=23459#comment-188575 Pareil. Surprenant.

]]>
By: utopman http://sametmax.com/alternative-au-do-while-en-python/#comment-188569 Fri, 28 Jul 2017 21:49:20 +0000 http://sametmax.com/?p=23459#comment-188569 Quand j’ai vu ce post, j’ai fini par me dire que si personne n’a benché j’allais le faire.

Je vous propose ce code pour tester qui selon moi fait l’affaire, mais j’ai pu négliger quelque chose

Les résultats me surprennent. Chez moi le test booleen prend plus de temps et ce n’est pas négligeable. Par ailleurs entre python 2.7 et 3.5 il y a aussi de gros écarts : ~ +60% de temps pour python 3.

Heureusement, je ne fais pas tous les jours des boucles de while.

]]>
By: kontre http://sametmax.com/alternative-au-do-while-en-python/#comment-188286 Mon, 17 Jul 2017 13:52:59 +0000 http://sametmax.com/?p=23459#comment-188286 @OPi: Dans ce cas là il faut 2 espaces avant le # pour les commentaires en fin de ligne. pep8 rocks ! :D

]]>
By: Sam http://sametmax.com/alternative-au-do-while-en-python/#comment-188160 Tue, 11 Jul 2017 12:47:30 +0000 http://sametmax.com/?p=23459#comment-188160 ;)

]]>
By: OPi http://sametmax.com/alternative-au-do-while-en-python/#comment-188157 Tue, 11 Jul 2017 10:47:19 +0000 http://sametmax.com/?p=23459#comment-188157 Attention, scoop : Python permet de commenter le code ! ;-)

while True: # L'utilisateur n'a pas encore deviné le nombre

]]>
By: Sam http://sametmax.com/alternative-au-do-while-en-python/#comment-188090 Wed, 05 Jul 2017 09:27:33 +0000 http://sametmax.com/?p=23459#comment-188090 Respect pour le désassemblage.

]]>
By: Laurent Pointal http://sametmax.com/alternative-au-do-while-en-python/#comment-188080 Tue, 04 Jul 2017 16:13:04 +0000 http://sametmax.com/?p=23459#comment-188080 @SAM

Sur le transtypage,

def f(x):
____if x:
________print(x)

Désassemblé:

>>> dis.dis(f)
  2           0 LOAD_FAST                0 (x)
              2 POP_JUMP_IF_FALSE       12

  3           4 LOAD_GLOBAL              0 (print)
              6 LOAD_FAST                0 (x)
              8 CALL_FUNCTION            1
             10 POP_TOP
        >>   12 LOAD_CONST               0 (None)
             14 RETURN_VALUE

Il n’y a pas de récupération de la valeur booléenne, mais une évaluation de la valeur en tant que booléen… est-ce que ça peut être considéré comme un transtypage (implicite) ou non…

]]>
By: Marc http://sametmax.com/alternative-au-do-while-en-python/#comment-188078 Tue, 04 Jul 2017 14:00:19 +0000 http://sametmax.com/?p=23459#comment-188078 Personnellement, je n’aime pas du tout cette pratique, j’ai tendance à éviter le break autant que possible car ça oblige à refaire globalement l’algorithme du bloc dans sa tête pour comprendre le fonctionnement, et puis ce n’est pas joli syntaxiquement. Je préfère la version où la condition de boucle a un sens logique. Sinon je me sers souvent d’un truc de Python qui ne sert à rien mais qui indique “humainement” ce que je veux faire lorsque je fais une boucle do…while, c’est Ellipsis (qui vaut True en valeur booléenne).

    data = ...

    while data:

        url = r'{base_url}?page={page}'

        data = session.get(url).json()

        for element in data:

            do_something(element)

        page += 1

]]>
By: Sam http://sametmax.com/alternative-au-do-while-en-python/#comment-188075 Tue, 04 Jul 2017 11:50:47 +0000 http://sametmax.com/?p=23459#comment-188075 @Laurent Pointal : pas de transtypage, car il n’y a pas de conversion de type. C’est du duck typing. On peut l’implémenter soit même en créant une méthode bool sur ses objets.

@dineptus : faudrait rajouter un plugin wordpress mais c’est sans doute possible.

]]>