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中只有新式类的说法,也就