14.11.17 22:34, Ivan Levkivskyi пише: > This function will be called only if ``name`` is not found in the module > through the normal attribute lookup. It is worth to mention that using name as a module global will bypass __getattr__. And this is intentional, otherwise calling __getattr__ for builtins will harm a performance. > Backwards compatibility and impact on performance > ================================================= What is affect on pydoc, word completion, inspect, pkgutil, unittest? > def keep_pickleable(func): > func.__name__ = func.__name__.replace('_deprecated_', '') > func.__qualname__ = func.__qualname__.replace('_deprecated_', '') > return func > > @keep_pickleable > def _deprecated_old_function(arg, other): > ... I would create more standard helpers (for deprecation, for lazy importing). This feature is helpful not by itself, but because it will be used for implementing new features. Using __getattr__ directly will need to write a boilerplate code. Maybe when implementing these helper you will discover that this PEP needs some additions.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4