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.
_______________________________________________
Python-Dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com