【发布时间】:2012-10-23 03:45:52
【问题描述】:
可能重复:
default value of parameter as result of instance method
虽然可以在 python 中为函数参数设置默认值:
def my_function(param_one='default')
...
似乎无法访问当前实例(self):
class MyClass(..):
def my_function(self, param_one=self.one_of_the_vars):
...
我的问题:
- 我无法访问当前实例来设置函数中的默认参数,这是真的吗?
- 如果不可能:原因是什么?是否可以想象在未来的 python 版本中这将成为可能?
【问题讨论】:
-
这有点不同,阿什维尼。那篇文章问的是实例方法,这是关于实例属性的。两者都有问题的原因是相同的,是的,但问题肯定是不同的。
-
@Maxwell 但有点相同,因为他试图在默认参数值中使用
self.someattribute。 -
@Ashwini 当然,但这不是投票作为重复关闭的理由,因为要求它是一个完全重复,涵盖完全相同内容,并且这个问题的答案可以与其他问题的答案一起合并。 “可能合并”的表述中隐含的是,这些合并的问题不应像拇指酸痛一样突出,因为它们不回答问题。
-
@lazyr 它没有投票,是别人投票的。我刚刚添加了评论。
-
重点是默认参数是在define time设置的,但是
self直到runtime才存在。
标签: python function default default-parameters