今天突然开始纠结起了一个奇怪的问题了
# Python code
class A():
def __init__(self, args):
self.args = self._init_args(args)
def _init_args(self, args):
# do something
return args
a = A(["test", "question"])
这样的逻辑在 Python 中是可以正确的运行的,但是却很奇怪
理论上来说,在__init__过程中,对象 A 的实例 a 还没有实例化完成.但是上边的代码在 a 的实例化尚未完成时就已经调用了实例 a 的方法_init_args 了,这样做是否有一些隐患?是什么机制使 Python 可以这样处理的?