1.首先這個標題題目不是很准確,但一時又想不到更好的標題所以只好用這個標題,下面我們來看看為什么。
首先我們要明白python中類的實例化是要加上括號的,那么不加括號是什么意思你,看代碼
class Test: def __init__(self,x): self.value=x def Print(self): print(self.value) a=Test b=Test(1) print(a) print(b)
輸出結果如下,由此可見a還是一個Test類並不是一個Test實例,而b是一個Test實例
<class '__main__.Test'>
<__main__.Test object at 0x029A52D0>
再看下面的代碼
class Test: def __init__(self,x): self.value=x def Print(self): print(self.value) a=Test b=Test(1) c=a(2) print(a) print(b) print(c)
結果如下,由此可知,c也是一個Test實例,那么一切都清楚了a=Test實際上相當於C語言中的typedef的作用,相當於給Test類起了一個別名
<class '__main__.Test'>
<__main__.Test object at 0x035A52D0>
<__main__.Test object at 0x035A5350>