【发布时间】:2011-08-24 14:08:51
【问题描述】:
class Test:
def c(self, args):
print args
def b(self, args):
args.append('d')
def a(self):
args = ['a', 'b', 'c']
self.b(args)
self.c(args)
Test().a()
为什么不打印 ['a', 'b', 'c']?
【问题讨论】:
-
顺便说一句,这与 Python 类或变量范围无关。这是按值传递与按引用传递。 Python 将后者用于对象。
-
我希望我能同时接受这两个答案。我很欣赏 mizo 提供的链接,但我将 Wern 标记为答案有两个原因:a)他先发帖 b)他现在才 11 天成为会员。
标签: python parameters pass-by-reference