Python3中定義類的時候加括號和不加括號有區別嗎?
在Python中定義類class的時候,可以加上():
#!/usr/bin/env python3
class Persion():
def __init__(self,name):
self.name = name
print(self)
print(type(self))
print(self.__class__)
### 實例化
tt = Persion("aa")
也可以不加上():
#!/usr/bin/env python3
class Persion:
def __init__(self,name):
self.name = name
print(self)
print(type(self))
print(self.__class__)
### 實例化
tt = Persion("aa")
我們還可以加 object
#!/usr/bin/env python3
class Persion(object):
def __init__(self,name):
self.name = name
print(self)
print(type(self))
print(this.__class__)
### 實例化
tt = Persion("aa")
object 又是什麼?
object是python的默認類,他有很多的方法,比如list,str,dict等等都是繼承了object類的方法。
繼承了object的類屬於新式類 ,沒有繼承屬於經典類
python2 中有新式類和經典類的說法,因爲在python2中有不繼承object類的所以有經典類
而在Python3中只有新式類的說法,也就