具有相同默认参数的Python方法中的变量范围?

时间:2014-08-11 02:28:36

标签: python variables scope default-parameters default-arguments

经过一番搜索,我找不到任何覆盖这个的例子。但我可能没有使用正确的术语,因为我对这种情况感到困惑,甚至还要问这是否有意义?所以我觉得这可能是重复的。

但是如果你有一个Python类,有两个方法具有相同名称的参数,那么这个行为是什么呢?

class Foo():

    def __init__(self, arg1=1, arg2=2):

    def methodOne(self, amount, setting=None, extra=0):         

    def methodTwo(self, amount, setting=None):
        ...
        #What is going on with setting here? What is setting referring to?
        self.methodOne(amount, setting=setting) 

1 个答案:

答案 0 :(得分:1)

左侧的setting只能 引用关键字参数,而右侧的setting只能一个名字。这就是Python解析器的工作原理。