Ce que propose Pycharm est équivalent à dire "Si la liste ne comporte pas d'élément..."
C'est une bonne pratique à appliquer comparée à ce que tu proposes de faire effectivement.
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
je voie, mais nul par je ne spécifie la liste, à examiner non ? l'expression est (il me semble) un équivalent de ceci: if not [] qui n'a pas vraiment de sens.
C'est de la grammaire python, on peut le faire avec des dictionnaires, tuples, listes, et autres objets de ta création...
Et tu spécifies bien la liste à examiner qui est [i for i in self.name_list if i != " "]
EDIT:
C'est pas forcément explicite effectivement, implicitement on trouverait plus naturelle de vérifier la taille de la liste,
if len([...]) ==0:
Cependant, la PEP8 qui est une convention mais très respectée des développeurs python, dit ceci
donc on le respecte tout naturellement, puis c'est devenu un idiome dans ce langage et dans beaucoup d'autres
- Edité par fred1599 22 septembre 2019 à 18:16:21
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
donc c'est juste que "not iterable" renvoi True si l'iterable est vide et False dans le cas contraire ? mais alors c'est une méthode de la classe de l'iterable qui est appelé ? ou c'est juste que c'est python qui se charge de faire len(iterable) (en C, du coup ça va plus vite)?
si c'est une méthode, il faut que l'"objet de ma création" que tu évoque hérite d'une manière ou d'une autre de cette méthode.
- Edité par Blue_Badger 22 septembre 2019 à 18:26:45
Je pense sans être sûr que tu dois surcharger la méthode __bool__ ça serait pas déconnant au vu de ce qui est indiqué dans la doc.
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
donc c'est juste que "not iterable" renvoi True si l'iterable est vide et False dans le cas contraire ?
Juste : un itérable n'est pas forcément un conteneur et donc il se peut qu'un itérable it ne génère rien et que pourtant la valeur booléenne de it soit True. Cas typique avec it=iter(range(0)).
Juste : un itérable n'est pas forcément un conteneur et donc il se peut qu'un itérable it ne génère rien et que pourtant la valeur booléenne de it soit True. Cas typique avec it=iter(range(0)).
bool(machin) se fout pas mal de ce que machin soit iterable (qui a une méthode __iter__) ou iterator (qui a une méthode __next__), ou un container (qui a une méthode __contains__), çà essaie d'évaluer __bool__ puis __len__ et si ces méthodes n'existent pas, çà retourne True.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Découverte Python Doc Tkinter Les chaînes de caractères