[英]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.