在类方法中自变量后加逗号有什么用?

5 投票
1 回答
765 浏览
提问于 2025-04-18 03:40

在我看到的代码中,有一些类的方法是这样的:

class A(B):

    def method1(self,):
        do_something

    def method2(self,):
        do_something_else

为什么作者在self后面留了一个逗号,他/她的目的是什么呢?

1 个回答

5

从语法上讲,结尾的逗号是被允许的,但其实并没有什么特别的意义。这主要是个人的风格选择。我认为大多数的Python程序员会选择不加这个逗号(我也是这么建议的),不过有些人可能会喜欢加上,这样以后再添加更多参数时会更方便。

你在调用函数时也可以保留这个逗号。你会在需要很多默认参数的函数中更常见到这种情况:

x = foo(
    arg1=whatever,
    arg2=something,
    arg3=blatzimuffin,
)

这个规则在列表和元组中也适用:

lst = [x, y, z,]
tup = (x, y, z)
tup = x,  # Don't even need parens for a tuple...

如果你想把嵌套的内容格式化得更好,这样做特别不错:

{
    "top": [
        "foo",
        "bar",
        "baz",
    ],
    "bottom": [
        "qux",
    ],
}

因为在往列表中添加东西时,你只需要添加或编辑一行,而不是两行。

撰写回答