python實例化時帶括號與不帶


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>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM