python class instance_python class instance object之间的区别

Python类的用法

第一种方法:

class OneObjectCreater():

pass

第二种方法带有类的参数

class TwoObjectCreater(object):

pass

都使用print出来,却有细微的差别;

if __name__ == "__main__":

print OneObjectCreater()

print TwoObjectCreater()

第一种输出:

第二种输出:

这样的区别对于使用有什么讲究,什么时候使用calss(),什么时候使用class(object)?

2d1fc03f606521e053376788fef2fb14.png

自从python2.2开始,继承与Object的class被叫做"New-Style Class"。

供参考:

http://stackoverflow.com/questions/54…

http://docs.python.org/2/reference/da…

http://www.python.org/doc/newstyle/

class()叫做经典类,而class(object)叫做新式类,新式类貌似是从2.2开始引入的。经典类是为了向后兼容,所以最好还是使用新式类,至于两者有什么区别?我也在学习:)

Python 2.7.6 (default, Mar 22 2014, 22:59:56)

[GCC 4.8.2] on linux2

Type “help”, “copyright”, “credits” or “license” for more information.

class T:

… name = ‘name’

… def hello(self):

… print ‘hello’

t = T()

dir(t)

[‘doc‘, ‘module‘, ‘hello’, ‘name’]

class R(object):

… name = ‘name’

… def hello(self):

… print ‘hello’

r = R()

dir(r)

[‘class‘, ‘delattr‘, ‘dict‘, ‘doc‘, ‘format‘, ‘getattribute‘, ‘hash‘, ‘init‘, ‘module‘, ‘new‘, ‘reduce‘, ‘reduce_ex‘, ‘repr‘, ‘setattr‘, ‘sizeof‘, ‘str‘, ‘subclasshook‘, ‘weakref‘, ‘hello’, ‘name’]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值