Message241853
| Author |
serhiy.storchaka |
| Recipients |
brett.cannon, larry, ncoghlan, pdmccormick, serhiy.storchaka, yselivanov, zach.ware |
| Date |
2015年04月23日.08:49:52 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1429778992.97.0.394094881761.issue23967@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
Using complex expressions is deceitful. In Python functions the default value is evaluated only once, at function creation time, but inspect.signature will evaluate it every time. For example foo(x={}) and foo(x=dict()) means the same in function declaration, but different in signature.
It could also affect security, because allow arbitrary code execution at the place where it was not allowed before.
I think this issue should be discussed on Python-Dev. I'm not sure that it is pythonic. |
|