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

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

猜你喜欢

转载自blog.csdn.net/knight_zhou/article/details/106586380
今日推荐