对于返回新对象的函数,它可以用作工厂方法或构造函数来创建新对象,如下所示:
def f():
i = 5
j = g(locals())
print 'in f:', i, j
def g(env):
j = env['i'] + 1
print 'in g:', env['i'], j
return j
f()
我想知道p1和p2之间的核心区别是什么-------- p1是直接从函数创建的,p2是由构造函数语义创建的。所以p1和p2具有相同的结构,或者它们有一些差异?
或者,使用" new"创建的对象之间是否有任何区别?或没有" new"?