Status of side-effecting functions in python
wxjmfauth at gmail.com
wxjmfauth at gmail.com
Sun Oct 26 03:45:49 EDT 2014
Le samedi 25 octobre 2014 23:42:42 UTC+2, Wolfgang Maier a écrit :
>
> As Chris and Steven have pointed out, picking print() as an example does
> not make too much sense since it returns None.
This is precisely the Rusy's point. Why does "print" returns something
when such a function/statement should in fact returns nothing, not even
a "void", a "nil", a "None".
>
> A quick example that's not quite as silly as all your print() ones:
>
> >>> with open('longnumber.txt', 'w') as out:
> print(sum(out.write(str(x)) for x in range(100)), 'characters written.')
>
>
> 190 characters written.
Ditto for <fileobj>.write(). Why should it return "something" ?
>>> with open('z.txt', 'w') as f:
... f.write('abc')
...
3
More information about the Python-list
mailing list