Ayant x.split(y)
toujours retourner une liste d' 1 + x.count(y)
des objets est un précieux régularité -- @gnibbler déjà souligné, il fait split
et join
exactes inverses les uns des autres (comme il est évident qu'ils devraient l'être), il a aussi précisément cartes de la sémantique de tous les types de séparateur de joint (tels que csv
lignes du fichier [[net de citer les questions]], les lignes de /etc/group
sous Unix, et ainsi de suite), il permet, comme @Romain de réponse mentionné) contrôles faciles pour (par exemple) absolue vs les chemins relatifs (dans les chemins de fichiers et d'Url), et ainsi de suite.
Une autre façon de voir les choses, c'est que vous ne devriez pas délibérément mélanger des informations de la fenêtre pour aucun gain. Ce serait acquise en établissant x.split(y)
équivalent à x.strip(y).split(y)
? Rien, bien sûr-il est facile à utiliser la deuxième forme quand c'est ce que tu veux dire, mais si la première forme a été arbitrairement réputée signifier le second, vous auriez beaucoup de travail à faire quand vous ne voulez que le premier (qui est loin d'être rares, comme le paragraphe précédent points).
Mais vraiment, penser en termes de régularité mathématique est le plus simple et le plus général de la façon dont vous pouvez apprendre par vous-même à la conception passable Api. Pour prendre un autre exemple, il est très important que, pour être valable, toute x
et y
x == x[:y] + x[y:]
-- qui indique immédiatement pourquoi un extrême d'un découpage doit être exclue. Le plus simple, l'invariant de l'assertion, vous pouvez formuler, les chances, c'est que la résultante de la sémantique sont ce que vous avez besoin dans la vie réelle utilise-une partie de la mystique fait que les maths, c'est très utile dans le traitement de l'univers.
Essayez la formulation de l'invariant pour un split
le dialecte dans lequel attaque et de fuite des délimiteurs sont des tubé... contre-exemple: la chaîne de méthodes telles que l' isspace
ne sont pas au maximum de simple - x.isspace()
est équivalent à x and all(c in string.whitespace for c in x)
-- ce stupide menant x and
est pourquoi vous le trouvez souvent de codage not x or x.isspace()
, pour revenir à la simplicité qui doit avoir été conçu dans l' is...
chaîne de méthodes (une chaîne vide "est" tout ce que vous voulez, contrairement à l'homme-dans-la-rue du cheval-sens, peut-être [[vide ensembles, comme zéro &c, ont toujours confondu la plupart des gens;-)]], mais totalement conforme à l'évidence bien raffiné mathématique de bon sens!-).