Python3中定义类的时候加括号和不加括号有区别吗?

Python3中定义类的时候加括号和不加括号有区别吗?

在Python中定义类class的时候,能够加上():python

#!/usr/bin/env python3
class Persion():
    def __init__(self,name):
        self.name = name
        print(self)
        print(type(self))
        print(self.__class__)

### 实例化
tt = Persion("aa")

也能够不加上():this

#!/usr/bin/env python3
class Persion:
    def __init__(self,name):
        self.name = name
        print(self)
        print(type(self))
        print(self.__class__)

### 实例化
tt = Persion("aa")

咱们还能够加 objectcode

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