Comments on: L’expression d’assignation vient d’être acceptée http://sametmax.com/lexpression-dassignation-vient-detre-acceptee/ Du code, du cul Mon, 28 Oct 2019 11:54:55 +0000 hourly 1 https://wordpress.org/?v=4.9.7 By: Miaou http://sametmax.com/lexpression-dassignation-vient-detre-acceptee/#comment-197656 Fri, 31 Aug 2018 12:12:48 +0000 http://sametmax.com/?p=24766#comment-197656 Dans les exemples d’équivalence déclaration/expression, ce ne serait pas plutôt

mean = lambda x: x * x / 2

pour

def mean(x):
    return x * x / 2

?

]]>
By: panda.dragon http://sametmax.com/lexpression-dassignation-vient-detre-acceptee/#comment-197440 Sat, 18 Aug 2018 11:28:55 +0000 http://sametmax.com/?p=24766#comment-197440 while reponse = "oui": # erreur subtile et difficile à voir

Oui et c’est pourquoi dans les consignes de dev C/C++ il est recommandé d’inverser les tests d’égalité.
Par exemple au lieu d’écrire

if(i == 0)

plutôt écrire

if(0 == i)

dans le cas d’un oubli de = on se retrouve alors avec une affectation à une constante et le compilateur prévient immédiatement du problème…

Cela demande un peu de gymnastique les premiers jours (de passer de “cette variable est égale à cette valeur” à “cette valeur est contenue dans cette variable”) mais très vite on s’y fait, motivé par le fait de se débarrasser une fois pour toute de ce problème.

]]>
By: Sam http://sametmax.com/lexpression-dassignation-vient-detre-acceptee/#comment-196525 Wed, 11 Jul 2018 15:46:14 +0000 http://sametmax.com/?p=24766#comment-196525 Tu veux dire:

for bytes in iter(lambda: io.get(x), b''):
    pass

iter() ne passe en effet pas de paramètres.

Du coup, comparé à:

while (bytes := io.get(x)):
    pass

Y a pas photo en terme de lisibilité.

De plus, j’ai utilisé iter() et son sentinel plusieurs fois. A chaque fois, les gens qui lisent mon code me demandent ce que ça fait. C’est pas du tout évident.

C’est aussi limité aux conditions d’égalité très basiques.

Bref, si j’ai := qui fait plus court, plus simple, plus clair et plus flexible, autant l’utiliser.

Sinon, oui.

]]>
By: NicolasB http://sametmax.com/lexpression-dassignation-vient-detre-acceptee/#comment-196524 Wed, 11 Jul 2018 15:13:06 +0000 http://sametmax.com/?p=24766#comment-196524 Simple question qui n’a qu’un demi lien avec l’article, avec :

while (bytes := io.get(x)):
    pass

Pourquoi ne pas faire quelque chose dans le style :

for bytes in iter(io.get, b''):
    pass
]]>
By: Linekio http://sametmax.com/lexpression-dassignation-vient-detre-acceptee/#comment-196409 Fri, 06 Jul 2018 19:15:45 +0000 http://sametmax.com/?p=24766#comment-196409 := !!! Ça me rappelle mes premiers cours de fac en Pascal…

]]>
By: Abject http://sametmax.com/lexpression-dassignation-vient-detre-acceptee/#comment-196394 Fri, 06 Jul 2018 09:18:52 +0000 http://sametmax.com/?p=24766#comment-196394 Une typo : ce code et clair devrait être ce code est clair

]]>
By: Sam http://sametmax.com/lexpression-dassignation-vient-detre-acceptee/#comment-196326 Tue, 03 Jul 2018 18:58:22 +0000 http://sametmax.com/?p=24766#comment-196326 @Julien Palard: les deux formes sont possibles et la PEP n’en parle pas. La branche dédiée ne compile pas. Donc aucune idée.

EDIT: les annotations de types ne sont juste pas supportées par la PEP actuelle. Je retire ma connerie.

]]>
By: BM http://sametmax.com/lexpression-dassignation-vient-detre-acceptee/#comment-196321 Tue, 03 Jul 2018 16:30:17 +0000 http://sametmax.com/?p=24766#comment-196321 Ailleurs sur internet on aurait appelé ca du fan service :D

]]>
By: Julien Palard http://sametmax.com/lexpression-dassignation-vient-detre-acceptee/#comment-196320 Tue, 03 Jul 2018 16:25:23 +0000 http://sametmax.com/?p=24766#comment-196320 Dans l’exemple

(carottes : Union[Legume, SexToy] = buy())

Je pense que tu voulais dire :

(carottes : Union[Legume, SexToy] := buy())

?

]]>
By: Sam http://sametmax.com/lexpression-dassignation-vient-detre-acceptee/#comment-196313 Tue, 03 Jul 2018 13:24:42 +0000 http://sametmax.com/?p=24766#comment-196313 Je vais te citer sur ce coup

]]>