Pourquoi je hais python, version 147586135796163198798461631

>>> a = ['foo']
>>> a+= 'bar'
>>> a
['foo', 'b', 'a', 'r']

😠

@aeris En général, on utilise la méthode .append() rajouter des éléments dans une liste. Quelque chose t’empêche de t’en servir dans ton cas précis ?

@aruban35mm Ben que c’est pas supposé être un str mais bien une list… Et que duck-typing powered…

@aruban35mm Et donc au lieu de planter violemment parce que l’utilisateur a saisi de la merde, ben… Ça continue à s’exécuter sur de la merde…

aeris ☣ 🇫🇷 @aeris

@aruban35mm Et donc au lieu de faire (au pire) un « rm -rf bar » comme attendu (et au mieux planter parce que [] + "" = erreur), ben tu « rm -rf b a r »…

@aeris @aruban35mm le mec qui fait du python pour "rm -rf" sans vérifier, je pense qu'il doit se poser d'autres questions que "list() + str() = ?". Si tu fais de l'objet, t’utilise les méthodes pour éviter les effets de bords. Quelque soit le langage, les tests sont nécessaires.