3 ms·
If that check is there anyway, and the preferred path is known, I would think that the great increase in complexity would look something like this: if try
by tom_mellior 6y ago
If that check is there anyway, and the preferred path is known, I would think that the great increase in complexity would look something like this:
if trying_to_sum_strings(args):
- complain_bitterly()
+ separator.join(args)
- edflsafoiewq 6y agoLike I said, the current check for trying_to_sum_strings is just that start is a string. So if you would do this you would actually make sum less consistent, since sum([x], ''), which should logically be '' + x, would become ''.join([x]), which not the same (think of an example with __radd__).
- tom_mellior 6y agoI don't follow. In your example, if x is a string, there is no problem since '' + x is just x. If x is not a string, the new path would not trigger, so the behavior would be as before. EDIT: OK, I think if the example is sum([some_string, some_not_string], '') then there is a possibility that some_string + some_not_string might be a valid expression computing a value while ''.join([some_string, some_not_string]) would complain that some_not_string is not a string.