褪去许多人认为"花哨怪异"的语法以及似乎"眼花缭乱"的各种模块等华丽的外衣,Python还剩下什么?对象!

对象是Python的最小的单元。要想拾起python,你最好忘记int,忘记string,忘记char,你最好也忘记public, private, protect(因为最小的对象仅仅是一个概念)... 忘不了,你只能得到手中的剑,忘记了,你就可以掌握心中的剑。

下面将以一小段代码,期望能让你对Python的对象有一点点的了解...

# -*- coding: utf8 -*- # 下面""" """是除了#之外的Python的令一种注释方法 """ 这个类继承了object, object是Python的最小单元,可以在Python的">>>"控制台用dir(objct)或者dir (builtins.object)命令查看它的属性,可以看到setattr, new...他们是python中任何对象都会具有的属性,你也可以dir(1)和dir(int)看看,可看到更多内容,在这里,1作为一个实例化的int对象出现 而这些xxx属性有什么用呢?在接下来的代码中,我们可以了解getitemsetitem有什么用(这两个属性在dict对象中非常重要) """

class WPUnit(object):

a =WPUnit() a['a']['b']['c']['d']['e']['f']['g'] = 5 print a['a']['b']['c']['d']['e']['f']['g'] a['a'] = 'vv' print a['a']

将上述代码保存为文件,然后执行。 我们可看到 5 vv

在a['a'] = 'vv'中,程序做了一步:调用setitem 在print a['a']中,程序做了两步: 调用getitem(然后再调用一个str,这是任何对象在被print之前都会调用), 然后print

在(a['a']['b']['c']...)['g'] = 5 中先做了getitem... 最后在运算到xx['g']时,调用setitem... 在print a['a']['b']['c']...['g']中,a对象一直调用getitem(最后调用str),然后再执行print

总之,Python是骨子里透着"对象气息"的编程语言。