【发布时间】:2020-01-14 11:32:07
【问题描述】:
带括号和不带括号,有区别吗?
class Host:
def __init__(self, ip, elements):
class Interface():
def __init__(self, localIP, remoteIP, numHops, hops):
【问题讨论】:
-
这能回答你的问题吗? Python class definition syntax
带括号和不带括号,有区别吗?
class Host:
def __init__(self, ip, elements):
class Interface():
def __init__(self, localIP, remoteIP, numHops, hops):
【问题讨论】:
不,没有任何区别,任何半体面的 IDE 都会建议您“删除多余的括号”。
在 Python 2 天中,class Host 和 class Host(object) 之间存在差异(请参阅 What is the difference between old style and new style classes in Python?)。
在 Python 3 中,class Host、class Host(object) 和 class Host() 都是等价的。
【讨论】:
通常,类定义中的括号用于表示继承:
class Interface(baseClass):
如果你的类没有从另一个对象继承任何属性,那么省略括号更自然:
class Interface:
【讨论】: