Python中的对象和动态性 [菜鸟的理解,高手莫入]

当我们谈到python时常常会说python中一切都是对象,字符串是对象,整数型是对象,标准库中的对象当然也是对象,class本身也是对象,类型(type)也是对象。

但是初学的时候会错误地认为,既然大家都是对象,那么应该都是一样的“众生平等”啦。非也非也,尽管都是对象,每个对象支持的方法和属性还是很不一样的啦。

 

就拿int和自定义的类型来说吧。

 

image

 

int型是python语言的原始类型,上图中所见的就是它所支持的所有操作,如加减乘除,移位,取反等等。

 

除了面向对象这个特点,Python的另一个特点是它是一种动态语言。好吧,亲,我们来给int对象加上一个自定义属性,何如?

 

image

 

肿么啦,看起来不灵啊。好吧,我们自己建个类型来试试看。

image

 

自定义类型Object是个空类型,是一穷二白的状态。没关系,我们来整整。

 

image

 

现在obj已经加上了一个叫做name的属性,再来加上方法吧。

 

image

 

我选择了给类Object加上方法,当然如果你喜欢也可以只给obj实例添加一个方法。方法echo没有做什么石破天惊的事情,

仅仅输出了自己的名字。

 

一个Object显得有些孤单,我们给他制造个兄弟吧,然后让他兄弟也echo一把。

image

 

呀,肿么回事?哦,这个兄弟没有name属性啊,因为之前我们仅仅给他哥哥取了名字。来,接着整。

给类型Object加上name属性,然后看看obj2和obj。

 

image

 

结果如上,一切尽在掌握之中,嘿嘿。通过上面的例子,你应该懂了Python的动态性了(部分而已)。是吧,元芳?!

转载于:https://www.cnblogs.com/brucejia/archive/2013/05/16/3082112.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值