[英]Python class definition syntax
有区别吗
class A:
...
和
class A():
...
我刚刚意识到我的几个课程被定义为前者并且它们工作得很好。 空括号有什么区别吗?
后者是旧版本 Python 的语法错误。 不过,在 Python 2.x 中,您应该尽可能从object
派生,因为一些有用的功能仅适用于新样式类(从object
派生在 Python 3.x 中是可选的,因为新样式类是那里的默认值)。
类定义与函数/方法定义有点不同。
类定义中的括号用于定义您从哪个类继承。 你不要在它前面写 def ,当你从默认的 'object' 继承时,你不需要括号来定义。
所以你可以写:
class C():
或者:
class C:
函数/方法定义总是带括号,即使你没有定义参数。 如果你不使用它们,你会得到一个 SyntaxError。
后面在代码中定义了一个类/函数/方法之后,只要写名字就会指向这个类/函数/方法。
如果您想调用或访问其中任何一个,您需要 ()、[]、. 管他呢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.