python中oo是什么意思_python中的OO

pass

1.继承的问题,python支持多重继承

2.构造函数,可以理解为__init__其实init更应该理解为类似@postConstruct

3.self参数,表示this,为什么传入self?为什么java不这么做,如果你看java的汇编代码就会知道,java会在调用前把this

push进去,但是python在调用的时候,并不需要传入self,因为你写的对象名本来就有了地址,估计python在调用的,直接将self等参数一起压入栈,效果是一样的,只不过python提供了现实的支持,让你更明白,更清晰,当然像我这样用惯了java和cpp的人就更不习惯:)

4.如果继承了,你必须在init中显示的自己

去调用父亲的构造函数,python是不会帮助你的,这比cpp和java的规则要好得多,感觉python更喜欢简单,清晰明了,我不做那么多magic的事情

5.创建对象 a =

A('test'),感觉更像c++对么,但是应该是在heap上分配的

6.python中的所有方法都是virtual的,或者虚函数,而且python不支持overloading

7.python中的专有方法,可能和运算符相对应,当你使用某一些运算符的时候,就会调用专用方法,这些方法是以__开头的,python定义的conversion,如果你override这些方法,就可以有类似于c++中的操作符重载的效果,几个有用的专有方法:

repr()的def __repr__(self): return repr(self.data),__repr__

是一个专用 的方法,在当调是一个专用

的方法,在当调repr(instance) 时被调用。 repr 函数是

一个内置函数,

它返回对象的字符串表示。可以用在任何上一个内置函数,它返回对象的字符串表示。python版本的toString

==号的def __cmp__

len()的__len__

__delitem__ 在调用 在调用 在调用 del instance[key]

时调用 ,你可能记得它作为时调用

,你可能记得它作为时

8.python中的==意思是equals,a is

b表示是否为同一个对象

9.在 Python 中,只有类属性可以定义在

这里数据中(static的),实例级别的数据__init__方法中。

10。关于可见性

只有public和private,是以命名来区分的,默认就是public的,如果以__开头,则表示private的,在这里专有方法(以__开头,__结尾)的除外,可应用于method,field

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值