python的class和def的区别-【Python】class()和
class(obj。。。
1、python2中为什么在进⾏类定义时最好要加object,不加⼜怎样
1 #-.- coding:utf-8 -.-
2 #__author__ = "zhengtong"
3
4 classPerson:
5 """
6 不带object
7 """
8 name = "zhengtong"
9
10 classAnimal(object):11 """
12 带有object13 """
14 name = "chonghong"
15
16 if __name__ == "__main__":17 x =Person()18 print "Person", dir(x)19
20 y =Animal()21 print "Animal", dir(y)
运⾏结果
Person ["__doc__", "__module__", "name"]
Animal ["__class__", "__delattr__", "__dict__", "__doc__", "__format__", "__getattribute__","__hash__", "__init__", "__module__", "__new__", "__reduce__", "__reduce_ex__", "__repr__","__setattr__", "__sizeof__", "__str__", "__subclasshook__", "__weakref
__", "name"]
Person类很明显能够看出区别,不继承object对象,只拥有了doc , module 和 ⾃⼰定义的name变量, 也就是说这个类的命名空间只有三个对象可以操作.
Animal类继承了object对象,拥有了好多可操作对象,这些都是类中的⾼级特性。
对于不太了解python类的同学来说,这些⾼级特性基本上没⽤处,但是对于那些要着⼿写框架或者写⼤型项⽬的⾼⼿来说,这些特性就⽐较有⽤了,⽐如说tornado⾥⾯的异常捕获时就有⽤到class来定位类的名称,还有⾼度灵活传参数的时候⽤到dict来完成.
最后需要说清楚的⼀点, 本⽂是基于python 2.7.10版本,实际上在python 3 中已经默认就帮你加载了object了(即便你没有写上object)。
writeline和write的区别python为什么要继承object类?主要⽬的是便于统⼀操作。
在Python3中已经默认继承object类
继承object类是为了让⾃⼰定义的类拥有更多的属性,以便使⽤。当然如果⽤不到,不继承object类也可以。
python2中继承object类是为了和python3保持⼀致,python3中⾃动继承了object类。
python2中需要写为如下形式才可以继承object类。
————————————————
版权声明:本⽂为CSDN博主「yinboxu」的原创⽂章,遵循CC 4.0 by-sa版权协议,转载请附上原⽂出处链接及本声明。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论