在上篇的时候,我们知道了:属性就是属于一个对象的数据或者函数,我们可以通过句点(.)来访问属性,同时 python 还支持在运作中添加和修改属性。
而数据变量,类似于: name = 'scolia' 这样的形式,会称其为字段;而类里面的函数,又称为方法。而方法又分为实例方法,类方法和静态方法,这些我们以后在讲。
我们先来看看类里面的普通字段:
class Test(object):
name = 'scolia' a = Test()
print Test.name # 通过类进行访问
print a.name # 通过实例进行访问
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXYAAAAqCAIAAAAoB+cKAAABTElEQVR4nO3cy3HCMBiFUZWlhuxy1I2rcTFkgd/k4UVuklHO2QBiMKy++a1hVB4AMeW3fwDQM4kBgiQGCJIYIEhigCCJAYJSiZlbLaWUMk6n5Wm8rgA9i04xr0GZ29Dm5FcCf8oPJwb4XyQGCLqVmGksi7re5qx7LXtDlpV6uBE6J2a5yik6r5cBenInMe9tqdTn0vbW3Gpt8/74wQcvK9tL8w706eaN0nMC2eLxSTuOb32ZmOOAJDHQoVtTTFvScpxZtmftG6aY/XpAV+4kZtswKacB5bw5c9mLOXxmXdoHlkNOlvFoGOp5Gwfogn/3AkESAwRJDBAkMUCQxABBEgMESQwQJDFAkMQAQRIDBDlYEwhysCYQ5NQ7IEhigCAHawJBDtYEghysCQQ5WBMIcrAmEOTfvUCQxABBEgMESQwQJDFAkMQAQRIDBL0BdpjSDO+eqGsAAAAASUVORK5CYII=" alt="" />
我们发现都是可以访问的。
但是,如果我们试图修改这个属性的话:
class Test(object):
name = 'scolia' a = Test()
Test.name = 'scolia good' # 通过类进行修改
print Test.name
print a.name
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAANsAAAA/CAIAAADmNCqDAAAEsElEQVR4nO2by7XbIBCGpyxKSCOmDLmCsNMmSQdsL3tVoQ0duAllwUO8JHNlyxnH/3fu8bVlYEbwaxghQ78A4AQtAHACigS8gCIBLx5WpJ2EmOyjrcySBiJtHm2nBX8PX4PR9IR+eIqtmxKbnbmvSFfzSnQlOW+XGVVi3MhQha7yGwM4ywPjbSdBQ24r8dl3SunhUQ55eCI9o5MVlsaPjjSLVWNfxYOOheHY6rTNztxTpFWjUDdff1vySbHcmJ3E7hBaNSXfHhjvm7oEr4wO19ysgs8mNFd52MvDHp5I5+h41qAVz+K000kDpJ0EDa3AdEiRaWhJxqZqq5wWOxVZtHOgg9IqZfVMTAcn7sc9PI9b7+j4wnXQOul0UlvLYjRJLRuR+JAi+z02Mr0OXMoVZ1L/URoXya5E+su/cX9rByk1El3XeOYnZdf1PpMry7iCVZxWeYHUQyMHIi3lENp5hYcZjVqjsnmqmpWp+Y6esqyuocg10cpjm7ce+sT4g9u1Sluu229KJK661sQoSP9WI9EoxEBCX8Tgeuw5ilyMTjKSurPWacWoumvixyHowx0PYWCNcHWZZWlOymYqB7L0cJAmb/lMD3NieItG3ZglSUijTEG/IvOg1VBk3VRtfZY0UHMm3LPl2zFyCAOU9Bjpr2WW/lJ0r9r0z9qLve3OensT6BJFY3Sra4qP33qTnu2KkXVnNT1cD57nYauvhjz6uoNpOGyWSbn1jk5529v0MMbpLevN0ylqNW0VcTSz/uU/pq/9dzb3bsqSaXHz6qHmAJt5YyybESgrY9UYBXQvlyo8LFo+y8MWiZi8kkKMXGe3ukxJ3+gUQSs/9+pesDyv1Xpj3mvVym3Z6RKChZGuwdCy0XRAkcn6QkeC76fFUKWea4zOg1koKef1YpLzmrUszXwrLfPnx3opX1upUtNDV2AUIuSOJ3oYOz0nLlrFlsVkiyXPrEyTjtFprQv6dZ/melm0lVpPUuqkf6pa7QCZZdhmCXmk1JIGEj+JrlLq+CrU7YnPbIp5p6Q1k76Y6OFWEP3nHj6XOkC+ga0XPEVM7mR54G8Ss5jKy8NPBs+1AS+gSMALKBLwAooEvIAiAS+gSMALKBLwAooEvHi+Iq0SRERUrDcbWR45FecF1rzfj5NiZK0/qy7P2FnwkA/gDXiZIl8PBx/At4EiAS/uKNJI8ogw54Y8kZJfJoqsxFKqwbeS/3auambXfChY26qPuFpCCCjyDdlXZCsd9OMcv7JKCGXX/xsViyPx404kq8vUtnaPQJFvyN1Z2wecoLUdqaVf3VVkGv82dRPjaDBf2+p5A96JOzFSlVJYI49V6gkxci+SNSN0d4w0Eqs/78i+ImOQoiz85YllkckldcKhJB1MdvK64Hu5iDwFTakr9ueRUkqsSL4hnJ/Z7KcB4P+EsyJb4Rb877BWJPhAoEjACygS8AKKBLyAIgEvoEjACygS8AKKBLzArgbAC+xqALzAb8gBL6BIwAvsagC8wK4GwAvsagC8wK4GwAvsagC84PzMBrsaPhHOisSuhk+EtSLBBwJFAl5AkYAXUCTgBRQJeAFFAl5AkYAXUCTgBRQJeAFFAl78BUHHGuqahMkrAAAAAElFTkSuQmCC" alt="" />
我们发现两者都修改成功了。
如果通过实例来修改属性的话:
class Test(object):
name = 'scolia' a = Test()
a.name = 'scolia good' # 通过实例进行修改
print Test.name
print a.name
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXwAAAAvCAIAAABv6OZwAAABtUlEQVR4nO3cy5WCQBAF0A6rE5JwyIZoCGZmIfIfxjlHa0q4d6MW8lm9U7RY5QsgUPnvCwCuRegAoYQOEEroAKGEDhDqxaHTt7WUUkrTLcpds64AF/WOTmcbMX17a/s3nAn4ODGhAzAQOkCoo9DpmjKoj5ujx5rNlCpDpc5un5ahMxxlEUPbwwAXcRA6e0sz9V4aN/VtrW0/vf6w46oyftQTweUc317du5QxTg7SZL7p19CZN1FCB67lqNNph7CZ9zXju/YFnc50POAqDkJnXHgpiyZmucizWtOZ7fMoTU3NLGCGFup2q8vlIODsPJEMhBI6QCihA4QSOkAooQOEEjpAKKEDhBI6QCihA4QSOkCoU44rvV+Ff3VBRmcdV2poBiR11smBGa4B2CF0gFCJx5XOZmKUaf7O8lzbyjA0o5rUAzmlHVe6/c72XIcVoQMp5R1XOnZDdT3A8E9vgFzSjivd7bOe7nS6xk/mkFPicaXbHZ9f02maxpM6kFLaJ5KP79eAT5U2dPaaJuDz5Q0d4JSEDhBK6AChhA4QSugAoYQOEEroAKGEDhBK6AChhA4QSugAob4BTn1JzmQ4HjIAAAAASUVORK5CYII=" alt="" />
我们发现类的属性没有修改,而实例的属性则修改成功了。这究竟是为什么?
其实这里的情况非常类似于局部作用域和全局作用域。
我在函数内访问变量时,会先在函数内部查询有没有这个变量,如果没有,就到外层中找。这里的情况是我在实例中访问一个属性,但是我实例中没有,我就试图去创建我的类中寻找有没有这个属性。找到了,就有,没找到,就抛出异常。而当我试图用实例去修改一个在类中不可变的属性的时候,我实际上并没有修改,而是在我的实例中创建了这个属性。而当我再次访问这个属性的时候,我实例中有,就不用去类中寻找了。
如果用一张图来表示的话:
aaarticlea/png;base64,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zrzs6zf/hRdeyCbNb7vtttHVxsHBgUGoVgcHB01qCcTUmcmsMYOYgUu5xwrrmlI9i2OAmLaabP7dd9+d2n7t137t1KlTDVsOoTY0jILGria1BGLqzGTWmEHMwKXcY4V1TamexTFATFsNN//b3/72sWPHUvMXvvCFJi2HUBszP7hop0BMUQwya2KAmFMSiDmBPjjzsm+++W+88cYNN9yQ+q+++uonn3yy3h9Cbcz84KKdAjFFMcisiQFiTkkg5gT64MzLvtXmHx4ePvDAA29961vTpW6//faXX365xtw8BoiJBhGIKYpBZk0MEHNK8ft0mgAADjpJREFUAjEn0AdnXvZtETNJkhdeeOETn/hEuuAZZ5zx+c9/vsbcUCAmGkQgpigGmTUxQMwpCcScQB+cedl7IGaqU6dOffjDH04XP3bs2Ne+9rUa806BmGgQgZiiGGTWxAAxpyQQcwJ9cOZl742YqR566KELLrggbeTKK6/8l3/5lxpzjUBMNIhATFEMMmtigJhTEog5gT4487LfEzFT3X333W9/+9vTpm699dYf/ehHNWanQEw0iEBMUQwya2KAmFMSiDmBPjjzsu8EMZMkefnll2+77Taz0fXXX//YY481jwFiokHUGjGbq5W/P3Mrkdnb3EqBZwYxA5EeMf0KJvB6FscomGde9q3qaud+fuSRR6644ooMNN///vfffffdzQ9NVzEyzfzgop1qXv+MYurMZNaYqzKDmIGIUcwJ9MGZl31Xo5i2vv/9799xxx3veMc70sbPPffcT3/6088991zNIj3VxswPLtopJspFMcisiQFi1mgVL4yJltZ/kmVkzCJe7XhpKIGYE+iDg5f9sOoDMVO99NJLX/rSly666KJsUPNjH/vYP/3TPznNICYaRCCmKAaZNTFAzBqBmM3XNaV6FscAMW31h5iZ+fHHH7/mmmsy0PzABz5w/Pjxp556yjaDmGgQgZiiGGTWxAAxpyQQcwJ9cOZlL0DMVP/5n/955513nnXWWRlrnn/++bfeeuujjz6agJhoIIGYohhk1sQAMackEHMCfXDmZS9DzFRvvPHGQw89dMMNNxw9ejRjzdNPP/2KK644ceLED3/4w25jzPzgop0CMUUxyKyJAWJOSSDmBPrgzMtejJi2VqvVXXfdZd+saYy5+OKLP/WpTz366KPPPvvs/jFmfnC9tYx6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" alt="" />
函数 dir() 就能查看对象的属性:
class Test(object):
name = 'scolia' a = Test()
a.abc = 123
print dir(Test)
print dir(a)
aaarticlea/png;base64,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" alt="" />
它返回一个列表,包含所有能找到的属性的名字,这里我们为实例 a 创建了 abc 属性,这里就能看到了。
有些同学会有疑问,为什么我才写了几个属性,结果却多出一堆我不认识的?
因为我们这里用的是新式类,新式类继承于父类 object ,而这些我们没有写的属性,都是在 object 中定义的。
如果我们用经典类的话:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAATsAAAA1CAIAAACxw9tUAAADVElEQVR4nO2cy3njIBSFqWSmDUpII6aMpAOqGfZTxSyGBtyFs0APbD0sgyzuVf5/kS9W9DgXOJGQrGOu1+v1er0dyj9nPo35cuHYwy4T3KcxX8b+jd0CcQrhZzIZmTfTwrEAUAiOBdAEjgXQBI4F0ASOBdAEjgXQBI4F0ESJY4MzxhhjrI/pk6jHlmV6pFVRhrTaJ3uO3qaxc4LGbkSRY72P2Sdn848vkTpw394r01NTxRbWKu2HcX07SKt9ac/RexxbSKVjo7eVvb3vP/gyPfVVbGG90vp2kFb7yp5xbDn159hKznE5uoV3O1YROLYcHHsYOHYAx5bTzrHp/pW1dhip3Xwuu5QSfKMiepvUG3u52Ez0tIr7SoPr6hl+6VeavUlzwOX6A0mu897mh8+74oXa58Gx5bRybD/Jib53bLak6/HhbzLPP8EZ6+Pwc6WKh0qHlfO6Hmoctn/3LbFZgutsN5UanHF/1mt/rhnHltPKsfNDYXlACyTJy3/eXqxrxbH9E7Q2FxhzCkdFybGztW/UjGPLaX2ODc6snZ2Gv9X08JucPztql8+xY6X9yuOSqcjsRmuMFa1d+YR28kv0dtGx2zXj2HJaz2OdG2dzSzPA2sncWy4suwesSb5zo8ilKrJKu1X6JcMU8W6zfebwBbX3jZ7MOCjoZuOXizXm1+/V2p9qxrHl1H/nSTjHPGuVibzaBd9K1MLu3yvOJzOJj4/HJWXd9b49tz2WRj3QDN4EANAEjgXQBI4F0ASOBdAEjgXQBI4F0ASOBdAEqTE1W0mjbe3SWv6cmTWkxtRstR3VqTHd1yyfyZPW8ufMrCE1pnirV1GdGvNUnrSWP21mDRkUh6E6g0K4vJfAsVWcaSisg2OFgGPLIDVGaGpMdvBRX3Dde3W7vw/4AJk1T2j9RjupMePeRKXGTKUaF47pHTJr1iA1ppgTp8bcZcQc3jtk1qzR+hxLasy8SBmpMXfXBQW9Q2bN/rSex5IaIy41JtOcMmKs/38L3odOdbhfZ613yKzZH1JjTkzb2uW1vOAbmdshNab5sTTqgWbwJgCAJnAsgCZwLIAmcCyAJnAsgCZwLIAmcCyAJnAsgCZwLIAmcCyAJnAsgCZwLIAmcCyAJnAsgCa+AVf2Apc+arNNAAAAAElFTkSuQmCC" alt="" />
为了方便演示,下面都使用经典类,若没有特殊说明,新旧两式基本是一样的。
其中 __doc__ 是说明文档,在类中的第一个没有赋值的字符串就是说明文档,一般在class的第二行写,没有就为 None。
__module__ 表示这个类来自哪个模块,我们在主文件中写的类,其值应该为 ‘__main__’,在其他模块中的类,其值就为模块名。
class Test:
"""文档字符串"""
name = 'scolia' print Test.__doc__
print Test.__module__
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAALIAAAA3CAIAAAAnlYdUAAAEPUlEQVR4nO2cy3HrMAxFURZLSCNmGXIH3Hn3OtA23LsKLcIO3ATfQqTED0RB1ifOzD2T8egDURBwCVDOJOT3455KPd3eUQZNHVFvD3Co4vM9vAbbkywOtGbwMqojuhPdSQ/LNg+T3M3qeAnd9YYoDvqNoLunoi6/V+JziELp4bu85eGJSLKTGWsbsqOtd+axdOGKLJx5KPPy3ns/6GWhJWY+GI/hc0/VjKMzz+TsG0F/mVv0yvZxKg8m+mzjcJWHUnZ7eCLC7ATmUjE9xeLjrMginWRJgKrhyiotlEUxzhtBTy8pL88y+mYf2e/hebyk2QnGXaymu2Uhj4LVXdIvxjY8Ffawq+04p+9E/XfYGH9mL415EN3nmR16xPj8obuXNqNhVbFMbpB6aHVH1GvdxXGu8DCDuephXL58yWxqtmg0W1Uwspj7vnq6A2XhbZ90qdrjucpZU/s37XYxSePxOCHmuV7beM/2CPsso1l62Gmbj3ymhznTRJ9u+jKqt2lPZGwK5LJIS4XnZFEOtaGJePdqFuFWPfdT5mzP+bfqbutJrO7qeWl1HTLWw/ngeR5yseryOjQeTAsDa5PykmanfAFhPZwqlvfblpxra92kSi+2N2KjbIeFgLJzMbNx5jFlca2/Fh4WI5/lIUeS0ZDOWC3UdEltUyLLTlEq8mevFumjz/IXVMHKK1TpeEld+myfT+toqYd5cuhh6u5x0Vr04NTm39c8pe5c+2Q9DKFRKq4nTvSw/2admd6rp5HV0xVfjWQ2LILscN9VhFdT9pVeD14gi00UZbCEK+wXM3m4VE5+3cNjqUuFiGNlsUSyzv8MwsI7qy6f5eHvco0swB8DsgAMkAVggCwAA2QBGCALwABZAIYNsiBqGRdnG8byU+07SgzAe2wL62pGJ4N6QzIOJRS76YBLbHoW0GB9OrZJLdONWiWr47Aj+GYJWdoGOxGFso54kY+GSpZGkJ9t3/q9QUCbA2SRHjmktrclJSldYCfSULbnZSMrS3VlKZeSI5JTYA9HyoJN0qakpusMVkCNUoGCcSCbm/rSbJ6OC1O1Og5rSWv9RfYoYIWDX1CXjstneS0OyOJ6DqgW6VnhcYm86g2PJnIV0jeROje1jV9IGztg416NI6gW1yD6OktySlgtVqc1WxskxuBAEFbAAFkABsgCMEAWgAGyAAyQBWCALAADZAEYrpSF1YS/8fwbXCkLZ25H/Lc7cD5oIoABsgAMe2XhjCJSShGp202Ril3CGTX+lkvH/2+V7sV9bYwimq8CH8L+amE1KeOmzzHx9YavlpxWB0FgKfpxHCILbbPPeJioqhCFLGrpgI/gJFnEDWcUZPEHOWRtQVrr6TMsFMZqoW43RaTMz1w8RgnE/VFLWVEBvw/eRADDiizmOR74+iqPHDXL7YX3AiugWgAGyAIwQBaAAbIADJAFYIAsAMN/1dCaonR9WYIAAAAASUVORK5CYII=" alt="" />
文档字符串不一定非要用三引号,只是一般习惯上用三引号表示注释。实例也可以访问,实际访问的是创建它的类的文档字符串,但是子类并不会继承父类的文档字符串,关于继承的问题以后再讲。
除了这两个特殊的属性之外,还有几个常用的,虽然没有显示出来,但也是可以用的。
__dict__
class Test:
"""文档字符串"""
name = 'scolia' a = Test()
a.name = 'good'
print Test.__dict__
print a.__dict__
aaarticlea/png;base64,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" alt="" />
这个属性就是将对象内的属性和值用字典的方式显示出来。这里可以明显的看出来,实例创建了一个同名的属性。
我们也可以使用 vars() 函数,传给函数一个对象,其结果也是一样的。
__class__
class Test:
pass a = Test()
print a.__class__
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAP0AAAA2CAIAAACDeAjcAAAE90lEQVR4nO2cy5HbOhBFOyyEMIkIYVARGDtu/F4G3E7vFQUXRtkBKAl4gf+HEimR0nhwT7lYEt1AN4DLRoOeMf0BoD/o3QEA8AboNwD9Ad2DHoHuQY9A96BH6CcA/UEGgP6A7kGPQPegR3bSvb4IcdHP9jJLGogm3iOikq8f4WvgiXaYh118XZW4PZmzvD/Va2warNG9je9MdCY5L9uMKhkiS9+EznJDXA8NQ18EDbmvJGY39WWEj/LgRB/GmtXJjCW71ZFstBrXNXwwML8cS5N2ezKv6nT3EV1j0+C+7rUahboaY4yZ5fLjm5gZZ2yHpC/iplC0uiR/+4CqkpHz5PPHrHzM7LurIlzL0xEeyMrVccQEHEZx2HDSZK8vgoZW+nvRZOYraMwa3adpMmlfRVwWEit1X/TzwESkTcrm2YAfLHWej/A4rmtXxxnXCfig4aS+jOGJ5CQbu8prJrPh5b7u10fGMn2mbSkcag/3VbLNymei6dN9sH/iMig1Ep1jbnZljF1gV2GXNtaw2nNUbpBGyHIgmqQcfD+viDCj0WpUOj9CZDY1W3STVdsN3cfSNM/TzrufE3Y3l1uVvuy0X5VIQrW9iVHQ9J8aiUYhBhLTSQxuxoK7GHA1q6VNK558Bf2CTnvq3vCUVIr1ksSNmFW9AHF4XoX2vk9pMVvXNsY0yxi+lHIpIxwk5z0fGWFOSNXBqVVGWrDWNgXrdZ8n4Ibu665q77OkgZq7+i1frh+WXtPpjNH0aWbpHnh7Xdq9m7O6Zjdu9LOtzjH6erNOuFVymCBNnloLUHzd9CGd0wjL21PQ6Oe4CFtzNeQ7ib2ZpvamTcp17eqUr1aaEYY9Z8n7kqryHanhq9gTMu+f7mt6LYK8HXOVXssdstHPxnPtvYN/UkgsZgJqDobnBcU0s2lmo9UYZHqvxi0iLHo+KsIWiWSdXn2+j/VAbVOybnWKBJyPvXoTUI4rem+IrNUq96UvJ5+SWNoOfc880c66r+MxzRXc9B5zxfHOFRK+Sb0785QnZm8p55gY5JyVbo06OLX5/yOmpXOrhG1GaA1GIXxNf2CEYWlzwuvX0LO4aF/IcsOmyYrVab1Hd28wm29+g6/Ue1IoJ/NTtWon++zkw8aX3XKSNJD4QXSWcgpXu+Xm78Fbs1raLIwiXcHQZGE2H6bYqUtatceLCREubQhvj3Bf6mT/PXw9xct+TiF5W/I1cAf/bH/4WhGC48DP54Aege5Bj0D3oEege9Aj0D3oEege9Ah0D3oEugc98mLdsyT8uxB4Py/WvVanPX7XL4clRfBYgRV8gzpHK8VhJ2G17bmyjUFvfAPdM7OJFRTzFh2j7uqUHXSvlSASQhCJ00mQ8AlXK5GVHq4cSX7Rj4hIKiWIYqtHqRTs3MeOYzlk76E86phd8j1LEkqHq9VQ/cFU6mTpRPh83i160Ep4dTvlN10g33fKXrqXnF397TKb1rqvn41nYki/1rnc3ky3Fui+U47Tvf+glXiD7kO+N0Zrm+/9ibe1/2w7FYB/nr3qe5JShmusLMgV/STUryQFSzYxJduHZUORXT8k/iiRpvLyeBG+p378TST9zvgG73MA2Mya/z+n4OOjvLNXtuQX+gJdg3wPegS6Bz0C3YMege5Bj0D3oEege9Aj0D3oEege9Ah0D3oEugc9At2DHoHuQY9A96BHoHvQI38BPBTKxnjrCYwAAAAASUVORK5CYII=" alt="" />
这个属性只有实例中有,它表示创建这个实例的类是哪个,这里显示是 __main__ 模块,也就是主文件中的 Test 这个类创建的。
但是其返回值并不是字符串,而是创建实例的类对象,但新旧式类返回有点不同:
经典类:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMcAAAAcCAIAAABanjx9AAABzUlEQVR4nO2Z0ZWEIAxFUxYNTfrYBqhmaWYpZvYDEIQg6omL4777pRmEGB4hMvQGQBua7QB4IFAV0AeqAvpAVUAfqAroM1dVjondVA9G3N/DOzJbVcb6zRbeGiIi/al13O22VNLYQ9CyoSrH165Sb83OGbsoYfS69dYEu+zh1XF5AD1V1RH31s4L5R+r6roH/wuiqpbFujA3jndT1Rs74zaCquqAhQokwt/pnt3yE38xETEzEVF+ONZEB8OfKqlixtvEWTfJPqbRWkvjj+PW5+Llxn4iYXVoVSWu4MqYhedsuHAcpiKXIsvVoWXtrQkjrUvmavR4215svEXyJ3vY+rwRgRbsg13EHXA8SXEicuEqznTOcLujv0fTZd9VtirVUVk2tNhT7VE/QWRntZ5unUvGsJ2Uk1plgiIDeH88V5XfBx1nctuUMQuhNBYxV1UWcbhhcEDNzpMF6dhotbM5JmPMuolQIe0g5aHQ+dKHUP2Y18sQGftTtopjtRahrrLWWdM6OBANThaGnD8FXQf3Qcs3p0BwkhOqEj6ToumzP7aXYu2zX+MO4N9loA9UBfSBqoA+UBXQB6oC+kBVQB+oCugDVQF9oCqgD1QF9PkFR+wdzSLpeeYAAAAASUVORK5CYII=" alt="" />
新式类:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHQAAAAWCAIAAACexC8hAAABIklEQVRYhe2X2xmDIAyFM1Ymyh5dgGmaaRiGPlAuoi1qORT9+J+QIgdOk4DkJjDo3wu4M9NcIOOYq0KiF5u5wkjmsrEXm7nCTnNVsP+9NQwyYHtm9H48e8wt08oa0y3LYFo9akXVXGu4WETPEgbVgpeLirmlvgol5BmeReNP8hAiEhEiovSyNbzsqNNBax05Tflu7mbgFJ3JfzW+oeItSOUuto4GC1oLm4XVsrCWX5dgZmOzMyIOyBspBo9sBqoFr28nDrTwqBo6fR7GMSo+JTeiyTlrz0Rue60hDjRPfnV5l7QP+er8hpmXQ8JLB3eE0hrnKlZnuVZsUPTU+pEfzc1O8KKr/S2np1Ybxvn8vSHTXCDTXCDTXCDTXCDTXCDTXCAvjgNi8xY80qIAAAAASUVORK5CYII=" alt="" />
因为返回的是创建实例的类对象,也就是说我们也要用这个返回的类对象再进行实例化。
b = a.__class__()
print b
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQkAAAAgCAIAAACO3hp5AAADH0lEQVR4nO2Zy3UkIQxFFRYhOJEiDDsDojH7iWIWJpieBV8JQX26bNNz3l30aWM+KqEnRDU9buOvpXeiD+vvm/I5vH0n+iDzJ6SG5SwEK0O/bQAAiwJtAKADbQCgA20AoANtAKADbQCgA20AoANtAKDzA9rwll761zZviUh/hFd/NDBDaMPb+/c6uM2F/W7niAGb+Pb4HGkgOLOINoIzRERkJq7u+uSG7ELmVOMCa8kPOvI8C506c2lULPyOaLuRVhsvlAWDc74Y7N057cXBZ7jTM+dX3x9VNertSB1dnyZneZuDOD9pcEa01JmrN5Lnk1yYDMpaZT7NwqVDrmhjnRR4BO9Tnovb5s9YfmE/btzCa1PNRwVnTA1zXRyyzxebs3xvYjl1b/7FWoRJ6mzp++fMwrGaf5ukjbMGBmeIjDFEZtuMckrXtMEySqrdnTM75/8huohJy9eJawFg2gy3V4rJebwla606dV9INI8l3HFs9YEPJ6P6WPTZ2OTwz2HsphWbM0FUPp1sqkEjbdRzIzizu/qyaTlq41oqja6Pn737Rr7wttayT7pEzFC2WGS4+aiePA/LnWQ9T75yqn71EiLTyBiad3yU2jNGXCmchrPxZ5qeG+zL5NxoJLZtZlcbq1ZWpaY6a1/roGZsTXITbfR7fw1Fddrq4oi6EJ0jm8WWi9WvKfOIDwWjiiVmrlmftsfOsytqaavZgYWpeVpTLSmMxxN3cVUb/U2un/b7tNFsQAhxF12Ngc6e4S1FPTdES29Av3pbWrjDq099OBil3XTzuZH/0/dpa5ls4VAJvO7Kj7W1OlRvL+wU4xY+VhbG4/I73FgTxxo8fjbVRzpKybgvL94B5r+joOZFvzBM9tTeWspSXb6kZI3zRMzvG8752MQHcavk6lr1fmR17sNwaJTwhs9b4psfZ7Q+hXQ7F2ef3D85rLtH8ZU077zmO1xwEpbawf+Gqg2eUYiI3t5ky10x8ZNr3UWxedW3j+AOcG4AoANtAKADbQCgA20AoANtAKADbQCgA20AoANtAKADbQCgA20AoANtAKADbQCg8w9iA0pkYUwYRgAAAABJRU5ErkJggg==" alt="" />
这里用的是新式类为例,实际上新旧式类都能这样做。下面是旧式类的:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAAgCAIAAAAnqtLtAAADdUlEQVR4nO2awZnjIAyF1dVSwnSwFURlZDrgtlXsNdy3ihxCB9NE9mBjy0hgkjghnnn/Id+Mg5EEPCSYoetDnJn++Fj8OvDf8JiBh5k8PDMZzryBh9vy5d2RXxTSK229GxvGfqZNutH9Mh2JPt9nhgIfiT7J/Us7xtt5CH4mgY9PEiEAoBWIEIDOQIQAdAYiBKAzECEAnYEIAegMRAhAZyBCADrzYhEGpt39eXyPPoM9URFh4O3XXvSHyn+53UlgmtmJz72J3hERkauEptqkB2mYxe+i2fR0nAoxPWJysq1N2bLeesaKfAdKItzR9h+9D5PDwd8mmOHl57nVi7r16N2kkJIMVRuxGQUm4tM1hqDeDZyEFJj4JA1E76ZFFb0T6lK25l4GW7MMd7Msb8AU4TwmeyCEcJ2nZ/it+d2nTWrf5VK3Hr0TGcdWYd7msuhzEJgWoXyr6lRgYk6JTduqeFjeNnaLIcJbo4zeETnniNzh4IziZVmWyHkgIvberZRFTahlN5qfO54LnOFZSxXb5nNLz8vRKMSeD5kRhaZS/hXi0nIa3nE+jo6dVBvZT5JI8IdDKkinyMegVPGpi9FprzdtTWGoEPaVIxrQIrxjCx+Kh+kzG9nKdAYeZ+/xvKHPGGlZiOpImWixu+pzS8/msGT9TOWafJJFUXGvJpuyb9IWh7nmLPa2SFJe7ENjtkwbhk6Kczfjd6notGyl85+VW79bUWqWo7cGObSXn+mxPlqvLM27MaRiWc+yyn0iNBf9Ws/5aNR3q0oUloMr45xRKvbESazQRrZQTvBpkaTMcLIsR2QVn7r0tcb/+7DJxYwpwvSDPI6/ToRiXmMctnY/LyS971ZOkus5raFnPRq6n/m7dK2ioyi7Z45zIS7rYiZlwvSNbiMVFr1fXLqIpCYz4cVqs7zicT6aFzOyjv+JFzMDrRfCw5mEmafPuQCk8aBIzl/E9ifORTQqt77ZZ47lLa0L9/yolN+vLx6WLDf4fGrsWY7Gr8NvM/bUfe2UWHIyjXOUrxXfykYspGkbz4Sh1EZksOXpV18FyOtNGYOsGqYjaOXPITJTf0MFXvEfMwB0Z1WEy/2PiOjjI3+y1f70SlsAvAvIhAB0BiIEoDMQIQCdgQgB6AxECEBnIEIAOgMRAtAZiBCAzkCEAHQGIgSgMxAhAJ35D8xFAh7Kj763AAAAAElFTkSuQmCC" alt="" />
但是,这并不意味不能通过实例来修改类中的属性。我们知道对于不可修改类型的‘修改’,其实就是重新赋值。这个也和函数中的局部作用域和全局作用域类似,我在函数内部尝试‘修改’一个不可变类型其实就是创建新的同名变量。但我却可以访问全局某个可修改的对象来修改它。
看代码:
class Test:
list1 = [] a = Test()
a.list1.append(123) # 同通过实例修改类中的列表
print Test.list1
print a.list1
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAARsAAAAzCAIAAAAoxzuZAAADqUlEQVR4nO2bzXnjIBCGpyxK2EZCGXIFy8237UDXcHcVutCBm2APFog/KU4y2c1q3/fgx5aHYWD4gEcSEvexMvuDv0v8LHZJP5au4GLNLTwM3fqlM1usTMbdi+t3Z64uxBhuZi3e28QYY3BX4+51PDcXYn2liXCyvvb8lRHWpFJbpXdnZh/v7iVX3ds0HPjvq5vsZpoL9l8OIlysTFJFMgygqWv14+2UElT0mMyvcbFydSF/Zodv9vzQpo9n4GenFQeex1mWNi9r26WNoSB1a4wxxnAf5XUY+qBt66D38yi1e2175kuZrQ1vjzt34OfrIhz11SRyEblIFVLR22Obkvuz2fHzc2Noki2Avva98VqWGtaV/GxjcXP4uv4sP5sgj2PuJu4mnmdU5+dRLp7Me+3H3EI8VFQx9y92m+DHeJsnp93ZS4aB+mUn3OHcUNkEd80CCO52IOkuwsbzV0U4ohDDqoS0RplcpLdpeS47zaJRtz2F6rKfpl1b7YPhOypV1xVuL2my8/bhMHn2sygrqo8n7mew87z1Rl/qIMuDfj5SVBpkl/E4a1i3ValIv1fxc72YJEu7bJOZXdKckduZZ53e5tePbSotazyO8GFwNWYSuVQjQD/CPGhq1lKFZ3MLa/FkXNkMeSI77aIRY4zBXR89ltqe/RR1lbVvs/il6J+u1HiBKnvmMUxnkYvY2cok5qfIxdo5fz62Cbk663d6tbXZaUWZwXErUjxmfjF5I1fmveyNPBd0foq2HyvqXTT7lpbRTuwPkyPcW8T+eoS69AvUOer6blRtV1TUHusc832629tmFf12EcK/yx9QFMB/BIoC0ARFAWiCogA0QVEAmqAoAE1QFIAmbyvKWxEREXPw9PYNgjMPHzzxgbPzhKLcx6VUE5xDUXByPqIob4u1Jq8/eQVKi1q3JqEoOD/vVNSqluKF75f0r7ci9jV6m7eHwZlKUygKzs8H1ihvN53sfR9eQFFwfj6pqI3gTHHvwtvBfQgUBedHR1G1nPYMURScHwVFebt3Z72xRFFwfj6rqOBMcZvCVXcmWqmhKDg/H7vXl+/3Fb/zQ+DtWrM5RFFwfnhnAkAT3usD0ARFAWiCogA0QVEAmqAoAE1QFIAmKApAExQFoAlPeAE04VQ8gCacigfQhFPxAJpwKh5AE07FA2jCqXgATTgVD6AJp+IBNOFUPIAmvDMBoAnv9QFogqIANEFRAJqgKABNUBSAJigKQBMUBaAJigLQ5DdtXM4YDrbwMAAAAABJRU5ErkJggg==" alt="" />
我通过实例访问到了一个对象,这个对象是可修改的,所以我可以修改这个对象。这相当于直接操作那个对象。
但是,等号这样的显式赋值行为还是创建新的对象:
a.list1 = [123] # 显式的创建一个新对象
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAAA6CAIAAAABREMXAAAD2klEQVR4nO2dzY3bMBBGpyyWkEY8ZcgVhDedkg50Ne+qQhc2ELgJ5iD+k1rIBrVeDL6HwLC0Q3JEPY8oa5GlfwF3DqbFnIs0PHEK3ZgmojvRnU3aZOOcWYjuRMvDv9n/7aNsTIvWM9Fd6afvya6KJqJZ29hPE7MH6rncs+kyIM/Q8ES0ME+hn+/IsKDTatbWNzedmJbt/NlxZiG1hm5iw9SDYX++Ulg+epgT43cet6rH2qf9qVWW6t6bmhUtf/RMNCs1kVpuavIzFodLCTezusdcJ7QzC/EWNtq53jgcpNHtzKa8g177/qdWs7bO2VX55m2Mcx2bnTNr7UGd4cSm7PnKDEtCqzTofsqf+haHbmMqzgv91KoqN5XQbVft6BvTVIjbT6Aay/djOMiazxgtD7ex/yTvr7nEX8+8c257WehwVM455+yzXyk6GXQO1Ttnlt7MVpsvvcknK2G4netuhmnndRn25moqa/++My/G3Zic59mzU5bMgwzjVeJo9O7hVK26Y1VVvBj94Tfz1yrJr3J+Weis8m2cyluf7Jp++NmlbpZmO1ChW/+KGKvn6J/V6xefqCbDquerMuyRuehFDBU6XZrbmJpzZ6cqmeWxh1R17Kc6rjR656rba1WOZddbqDWG9w5Dz2ah7xc6nON7/zRX+Gt6aNJeKM1SltIQyVv6KPNWLKE6a8085u+vVEjuvWViN8M9YFYqrJsvzDCesxLfKutZrTYsFk0npsuJs1OXTOecs3rO7nDyfrKx8tGz24lsfppW/fJc3F0YF5a/vDBNpH4T3ZmX+LpfJONw+T1YMavvraFfpLpo1vSWAd9MzPCohH88w7G05VnGWJ6rhT4i+w7hZ+Bvz4uK/rMyBGf4lNAAXAKEBqKA0EAUEBqIAkIDUUBoIAoIDUTxptCGiYiIlLbOWa32LXxnCz7Nu0Lr9vGf1RpCgw8DoYEoIDQQBYQGooDQQBQQGogCQgNRQGggCggNRIEnhUAU+F0OIAoIDUQBoYEoIDQQBYQGooDQQBQQGogCQgNRjHiw8h54HAMuYOCj7/fAA3MwkmFCG84qbay+sf6Gkt5UZAgNRjJCaC9r9r+M38JPDRPxwxmOaxOrVaE0hAYjGVWhDVP293f677s7IDQYyRVCJ6xW2W2j4c4tIIQGI7lQ6NLmo0AIDUZyldCGj77SqyIhNBjJJUJbrbI7RF3cFNamQ2gwkoHfcsRvOrLt+Owl7atWJhAajARPCoEo8LscQBQQGogCQgNRQGggCggNRAGhgSggNBAFhAaigNBAFBAaiAJCA1FAaCAKCA1EAaGBKP4DV9rbah58AeUAAAAASUVORK5CYII=" alt="" />
这可能有点绕,需要对变量的赋值、可修改对象与不可修改对象的了解,可以参考我以前的相关博文。
这里又有个问题了,我们通常使用 __init__ 来初始化时,会为其添加数据属性,例如 self.name = xxx ,但是却几乎不会为实例添加方法,也就是说实例中的方法,都是在类中找的。这样做其实有好处,因为方法一般是通用的,如果每一个实例都要保存一套方法的话,实在太浪费资源,而把这些方法统一保存到类中,用到的时候来类里找,就节约了许多。
当然,我们也可以任性地为某个实例添加方法,python 支持动态添加属性。
class Test:
pass def fangfa():
print '我是某个实例的方法' a = Test()
b = Test()
a.abc = fangfa # 特意添加一个方法
a.abc()
b.abc() # b 没有这个方法
aaarticlea/png;base64,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" alt="" />
同样的,我们也可以为类动态添加一个方法:
class Test:
pass def fangfa(self): # self 代表是实例方法,只能由实例调用
print '我是方法' Test.abc = fangfa
a = Test()
a.abc()
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAANkAAAAuCAIAAAAqSyuAAAAEIklEQVR4nO2ZwZmkIBCFKyxC2ESGMOwIlpun3Qy8Dnej8GIGnYR7EBSKkkFbe1jn/d8clC6oknpdRTs0AVAH9N0BAOCAFkEtnKTFsVeqH19dZdDUEHX2jIg49Uf4HmxHJ+zDKb6eRkWbWaLFec6D6EF62LZpTeDWaj+FHnpH6gZ9INNjr6iJfQUxu+3gER7lUIQXUpKdyFhblx1tp9G0ZRMPBubTsbVp0fjXWhxNq8zTzdyWeWAWuxl7lU3eaPrg0wOZfpoPH5Xt/PdsMD5m65dLIizl5QgvpDA7jrVQLU9x2eOERXHsFTVSSdqpxbCcBFlJnoE3wUItsnUObE04hU+PZHSwTb8e4XU8S7PjjNNCddHjhL6myXakOy1U351aLI/V6lD789Fq6ZvuVtu5ej2Iuk93Mf+tW2NMS/RYa5hrwfOmuxMbt5kNk9psYoMwQqsbok7rxq/zjggjhFmtGeMjaWSTskdJ0elN0OJ6rIrrmfPu98S6we1Z3Ne87U+jglDn1VSrqPtjWqJWqeZMLU62C04e6TatTcSadFOW28YrYx73X/21qqU20yS2YNvzFPIIG23jla+MMGYpaYvTOVvBkUOwYZRrMS5UghbTpVLvg6aGxO6X8+XWsbrxCQp2jLrPadDUmnHY16On8Zntcbl2OS1ysZ20Kex210X4nCtWp9skRrgOXhehtFdNXHHnwbAEijYhz9Ls8J+0YoRLbd7yLj4OmyX6YrUz8v7pbgu0GJ2Ov/rBFTTBzW8Miam1w0YWxaoT2YymXaTz1ZmJRchWvipCiUBGTkO+Lq69LLXhlGWHFar42ZNfe/y5Vu9Cr5Nmxb7G/sOXCavnBf3KtqNdWgzeGhQc4V0T9FPSzmK7uIB5Sz2sXyA9rKeTSTxXhTZ/f61f34d0JBIjnA1apfwZ8cIIl+2OWV5FLSurfmSvMCMbkYLsSO/53Nsc8S3Y4iv0Hhydg/1JZslFMTpJ28mfF3WnqSH1m+ihdXf6/11Yl+FIffPNLBFuFc5vj/Bc0qJYqa+3/Q8w+JVaB+4HYFRH64rwp4H/R4NagBZBLUCLoBagRVAL0CKoBWgR1AK0CGphhxaJiIjmi4wBY8sy46XQEtyMokwzYaUX4q04svcjaPHnsK8usov0OlMXxU9fqaDgZryqRdEgM5KZzmwKxQpuw0FZlFc+ccGMr3JjcDPOrIvl6+QFLToFt+clLYYXhbVzKih+heuAm3H8nc6uVpv/dMse4vtRlCY730nZ4K6imA5mCjC4MaW/XaZEast1aJkOpqvlB7cWgRxvz+7zItOKeLu355YfQMujBf8dB3s0G2SFTdTQ1vRyhUGL9wbZBbUALYJagBZBLUCLoBagRVAL0CKoBWgR1AK0CGoBWgS1AC2CWoAWQS1Ai6AWoEVQC/8ADCBuJW6hAMoAAAAASUVORK5CYII=" alt="" />
关于方法以后再细说。
当然一般情况下我们很少这样做,因为这样会变得不可控,因为你不知道某个方法在你调用的时候有没有创建。
字段私有化:
我们可以对属性进行私有化,以限制部分访问,但关于方法私有化以后在讲,现在先说说字段私有化。
一般公有字段我们可以通过实例对象访问,类对象访问,类里面的方法也可以访问。
而私有字段一般仅类里面的方法可以访问了。
私有化的方法非常简单,只需要在变量名前面加上两个下划线即可:
class Test:
__name = 'scolia' # 私有字段 def a(self):
print Test.__name #内部还需要用类来方问 a = Test()
a.a()
print Test.__name # 在外部使用类来访问
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAloAAAB8CAIAAAA+U4m/AAAS60lEQVR4nO2dzZXDKrZGiaR7+FIghE7EZHHtCJqZR30z0LSZvYGTuF5vtSJoJ8EbSEL8g2X5r2rvVctly3CAI4lPB2QhbBktz3pcPoy3sZLUXpUYTOb9klufpb5ZMyiTzeJ/vOuNNeoo9S2qjVFxBQo1XDc+r4Y5Xx2FOAlxEkGVPG/n0/jceveOGYS8eN9mazgV5wympWebE+XKlrXYmbcHpf97/ui/RpWs1zmqUlKfop3QP5l90bnfQzt+280g9UWJo4idnPXqXQdS6at0h/bswXBjvAezpTSP3n0t1/dpvgcoNLN+vsNvR1S+m48Ya629KnWtGzLquBxY2RPvpuVRZM9ecy2c/0uPP15krjM11o767I7mUV8qepzUMLL8rBrm8JRslrGbloOZX0tpYvr2zk3LY3jCe21fqqqdnahda+mZTjmXKyxrvByWfsqoyeBi2QxiZzlM62PLezCxvHojzVXZy3U/H5WODrDUq6nlnrLSozdKmT3G5hpmzpS1pcdEHgresJWjdy/L7X1a6AHSgnrOd/jt1ORwOWJOeZGIMINQ1zVLfCU4XS/7F3FLSnVdLwzVdblad52UuzZM0/z5j/Vy0i+xXsMpwVnKoxCn4BTdv4auxw+Zc3mW5WWcsy+JgzRZOvZO5pLcjvo8eWxpu7PjleWXvsZPJ88/Sa58aOh7ZurFBiFOQg1KHIX8pxAnpQb3Ol2wu+KUKXg1TlNohb8H861Y6iOHgzwu9ff3u+8NJ+SJnZyfjRqMvRnjlRXv06vWVx0ch+GRWapzcNQVdn16/CzWMjsxvwdzaWLLhaN3B8u2vU+DgDIdgfA903O+w2+nLod3kQ6YBOQGMF+Mq2EpfHx7Dfcle0n+A8r6NHZse2VQoUUQ4G7geXvw7cfGLznf4VF2lMMS8xXc5/SVRkXx68fVEH4nyZHZg4uQahejvxnOd+jkBXIIAADw6SCHAAAAyCEAAAByCAAAYJFDAAAAixwCAABY5BAAAMAihwAAAPYZcjhqKYQQIvqRq1HxFgAAgE/hSdFhKn6jPvDQDAAA+FBeJocAAACfC3IIAADQkkOjxIxchjqXuUHhrTMmgxQ2lsPZSrgWXmIGAADgXdTlMDcFKKdN7qtRS6nH9X8hY7TFfSSOBACA99McLJ0iOyd0FZ3zv2rKoR94IocAAPBmGtGhnmXQjwXdO71DdLjaAwAAeBt1OXQTfCII/MLJxGju0MuzbFoDQU/65rDzcJDhtCMAAMDL4ak0AAAAyCEAAAByCAAAYJFDAAAAixwCAABY5BAAAMAihwAAABY5BAAAsMghAACA/dFyOF4O+vbuSvxu2AUA8DW8RQ7NIMRRqOud2a7qjlxXJS+//slvNy1PoavTLT25tjPqM4+kBYBvoCaHVyVOYv477typmWFLb9udi154JXVajxu37aAMXJcAwFdQk8OLNq5bvOp9R72eK4dXJYY91PCm9S6S8NbSXyqHmTobtfe1FADA/lSjQ2PXbtGYXYXhqXK4V2SzW4T01tJfKYfZXNHG93oVACBPe/nftfMyap5SGvXZm1uapppOwgvIRn2OhljnLG7czAxCDUqchDgvizt12FlC1cYk4lrnm5ZHIc9SHOVhkGtZSX3WkeGj1LelsfOWbFkFb6SWW96YZ1IvWq7eaJZesJzx4U5ymFru9hj6BwBfwD1yOH9cur84gXszXuTUafpblq5/zmuGqWMd9Xnd0rTj5LDevfp1NoOQl9G9hvXJlF5pe7agyBtpS3u9cdZjUvN66UX/tOxskMN6EXXLyCEAfAEb5DDp2paw4FjsKM0Qxw25XrXbzrm1WrB3+8ZkxH8tlD5Haf59Hz1y2N/SO72xpfTUh6UK3D9Ymrfc4TFuawKAb+BxOVy2jPocR3XuxgoXD1k7jks8VIjPanbmNDd9aNysaNQimVk5zESHlyB92LTivGnqjbSlnd4oy2Gx9KJ/PB9mK/lAdLha7vXYTctdbmsCAHgqdTkcLzI/ORTEZ9MsmjwMMk4ZzdX5s4AXbSbja1/ZsjNNVg1mmhFsdOhTgDjNeA1Kude5SvEM39zS8CclS/OzwU3JG+lMYcMbc7B4VGadj2yWXrIc+vD/lgk/l+aWbEnJpwkt/7fTY5nQkLFTAPhEeCoNPA92AQB8DT9YDgEAAHpBDgEAAJBDAAAA5BAAAMAihwAAABY5BAAAsMghAACARQ4BAADsx8vh9Dwz76lmALAbnF8AK0+Sw+BBXNNDv5qPVcswPeLrsWdAa2lf9gTpRlnGCmGlLn4/6tq3/WneQqefR91wwr3s65DnHS2vPA57uf/8KpzLn/bgvRfXZ7zIYv+2vfeDl/OoHLpF7+JnV8ZP59pygF61vi2vjqk/nf6aJ/GorVCzDgll7WhlX8YNzGVZa601Kt/3lba7b1trdXSleT1+25vUnXAvOzrkrla817JaToFHzGbPrw5yT67f6Wl8wdpty6N9w/U7e3ikPmbYcnTW+7d279datA5ewePRobdMRO0Q3Ol6zaznv5YtVRutXJRPy7nTdG92xivLWqsKAdCzSo8wm0rZlsvGbW/yIidUyLY0asWOPtzb8nrkj1aK1zvzObFX8Px6G/QnRr0qutrctEfl8PMi7N/IXnJoBqGuxaWI7F4725fA0VjXD6hcd+wPT7kE2ZSP45c1hQIqd9n+pNJ3KWVz3e4dBnyNE+6tQNSKHX24u+XgvbQvv7R4XsddWu/zNVIxXuTmUh6XQ+utBw7vYRc5DFeFja/yXLJwS7zEUgejld0nfzA85TJ6FrRMhpvMOgY7D8lKa5Y3xVzJUNgU/fj91DxhdrBS2n+p2YI8rJf2RgWlzIO60h6kFaU0ufoYtY4kC2n/t9AKlyywLEL7Hd4I2j5aKezhYIWwWuftuH0hvdK1tMLbUiwrsuPVylt+OBlFX7ZMgpRvaTLQXffGOuS+7KZxL8sd+zTa+6XQMPKqq7Pv4a06Gp7L8fk+LQqtLlqmi5q1zve8bNy0bK747dnoq0+Ct2b4tIScPMt5RbNaK+aFz+S0DuhVzUW7N/l2lbzBWtlvZdfoMN6YJnO4m9nuuSAy3TMlkXC6jOkbP4uy1r81I73zJVuBqKzl43oJb+auZ53IVMtGE4qxb9wsHVk9TVqfnJ2oFWsDS5aXVhhV9kbS9ukKQCkvcC941XRsCcpK65NWOy3LjVJWWpq0Iu+N1LJK7uLZxXLPPrXWWqvqw6Q5r8497WgPD9181Dy7zTALT7LgduN8z8jhfVrYW5+eLPIyutfSsuHelngF70p0W/EGQ6bvZMe5w/rGzAF6isLKFlHvY8pXUdFVs8voW5ivkVX4UawdcfaWxShXWpZ/Lb+sNBwYTF+zrSvVOapSWp+SHR8VtrSn9KydqO1aWq1jsyWv9rypeyN1TucejDamMVZaikg8Fgvzfpab+9RJXYWsx6brFX14cHy15+xOtaHnfI8tX1UtnuuuYVai6rn8q/xsc/rfZOuT9QZa+GbeJYfeT53GcUN0WLmPJu2V3K2M7oLaSamb11lvdxzXEcVo3CLNlZalvEEwZ1nqOVJRZjbrv0aVjD7W0iT1WdOM1oyZLH4CKYq5XLuUN6Aa2cn6Wahg11S86qQis3fKZUUhUd45XlkuMHK5Si3Nuij24WJ51FYZO+pcZR6z3N6nYUBsCmKRetUu12plfeme4rpbDjvP9/gHWu6G0pvWHXrWX59mxqwclqPD9WafJXFw+09P74cWvp8H5XC8SHES4uiH/Eadwtujp1/eTH/RKPwp+HlGm2jSayK4Bs/OL5r4AjwzBbhMrghp/2My1+yZXElZ2pvqU66eZjZ7kFb8jxXCKm3l8ir1Wj1X3FyQWr/6578yVcpOZLopxlIrXH20WoOM/OTlpJdZOzk/j9oaa3U0yBlOemk9l+W3QspqWVF9PAJ1TMpat+T8E80l+5S8IaT9zzItN/q7eA/LlcnpdZ/6CcJckcgFXl0N1acb2jMXmXM5Pt+XmwmUCabxmud7wc4cRc0V65hb6axPxQnKTM0clHKv52WoJz93qNSwNG3+oeGypbP344cWn8CHP5XmbhoTKl9b1qexY9u33xtpHrkfxNpn7sG3HxtZr1Z/m/T5z6b5/BrCd/NNcrheFPPHH38P/wGAD+cEAAAAcggAAIAcAgAAWOQQAADAIocAAAAWOQQAALDIIQAAgEUOfzOn6k/Pom9LietG0jQ96fut3Zump1GP1xAAvpGPOvN5at9LeVAOT94ztKZvo4/ZvE07TSPpm7uadpci1qsEAD+Jjzq9vfWvt3JV3nMOf93KYeaix+U1T0V7ou6+MzrMpkntVMoqFZoVzui1s2mdfuhvIAD8PL7v9F6ebZ9lvGjjosyrvk9cq5a/grYcOpo9e0W00i2RRN0lq0057Jfw/tZVkm0LOgHg2/m607uxYtnVeGmMuUfevn2oNlwBoNWWnjjMJpqUTRYljiz3RIedOlePDkvVjipTb3ja5Po1AQD8GF5xel+VOAo1qGWJE7fMyrxayrw8WNiJm0GIo1AXLU+5pWTuWkQ0XZbFjanOC8f0Wq6Tq7O3Js5g7E3Lo5BnKY7yMMh4wZdg4ZhNFeiMDvsjtpLUVQQsm6UiVM3osCdjlKxHMtNWNAtCDgF+MK85vc0wrT22LptphmiVxHljvGb0WY/VdaVLxWUX23SLpXUuWbyBtM7Bm7+sGYS8jO41Why1Yzm3auk9cpgGXtmPTRnLWk7T9ESH2Zo0w7ioxPpffxHIIcDv5GVymNGGliBlE2+Qw3UUMYk+/WhsLzlM6ryEnsdZDtNVtrM13FB0e7C0HuRlE0fvK3nrcph+lbVTqU/JQslgMztyCACOl8mhvIxRdPiYHNbmBUvRobXjOJW+xE/3Wm5SFv5Rn4tymNZwY+l7DZam23vEsh7wlQYwe/SpM/KLSqkMlqYJ6npfcgIA/BheJ4dnOc+f+RN16+SZt3GYb4cRp+nHEsG04niRy/Y8SwJ/1HHUZ+HnmtOEdiLLG4LFQp2n9/IwSPHH3/5+EmJQyr3OHohruI095bCZJiuHJX3qLKgzcVO/m8Fo+lWP5iGHAD+YFw+Wwkdwl9RVtpQGS7MZfcksWa7IYZSx+bH5FXIIAD6vOL2n2ziTG2e+i2Bm7iTEH+Iff4ZbHpj2ezVRMHeXqmW3dA5O+hvrWaIhyko42FnbeuV7otJKNQDgB8DpDQAAgBwCAAAghwAAABY5BAAAsMghAACARQ4BAAAscggAAGCRQ4D7ee9jJXioBcBTeJkcRk8H/aYfrfczreX0VU37SfviZcfYgwuPfHXpAD+WphzudSk6Xg7+ObyPWbds4cNP+9yRp1y8P7OlPybaeMoxlilFPrgs5feWDvCTacnhqM/zM7VXblpHvUy6pUVvV9WyvNq56g+5ZH5GLzxetHGW721pvw8/h086xgDgV9CSQ6OOSg1BOJL2MtsWf+jJ0kwWrZS0L9vMPqMy5mo8y/ctQdXpw4/io44xAPgVNOTwqsRgxouMV7KNVi9yW/5yCxuN+hytcJSsZTiodY2nq5oTuDeZsuwcrXrL9i5rKkUFLaXn6xPZKaXpIbMwU9y9ThOKJy/IdiOf7rHm6ZYcSccdeyOxk/VhzuxFy5O33lZPnRMj4pjYSWuYEpf1ccfYLuT947f9puVRyLOc1wK7y4cA8Dh1OZwnKq7KOznbV+5myHSamTSDyS4InFuSN6yPdzdBGh2mpadbFjtB6RvW3Bgv0q3OWKpzeUHgonNKdHqjnitrdtq/lar21DC1k/q50qiKD9MtrzzG9qLh57/mVbLda7Q0NHfQADyXuhyuqxp5XU9PV7VhpfuersqrT5p4HkLsEZtt3X1Kn/wsIcgxaFd0vZ9uaRaXeqNkuXOw1HdmT52bdvrcmy/rc46xvWj4+a/g2s5P/H0riAF8I1U5HPWwBIVX5Y9PRjNY0ZbOriqNz+bxq0y3OFv2bqsbx/B6391V2COH2ehwQ1/jokP/doxCpzzq89LBLavVr11esiVLKY5ZvZGz05xxLKtFrc49du6JDteysnV+4zG2Fw0/F+TwefUBgICaHHrRgPF+xTVeZDRb5m3xJmPW8VVv4zIXZS7aTLnc7NT8oz2lhtV4UlY4Vxf//CAtPVufxY4/d5hJ06ORS94po5sKSps/TQgdpf7v0qhT0szqjygWV/i6Es9cZu2k+ytowBB6L5iKq9W5z07PvFdY1i1f57cdYzvR9vMff/v7SYhBKfc6t+4p9QGAGJ5KAwAAgBwCPMo6vTf9/SH+8We4hWk/gM8HOQQAAEAOAQAAkEMAAACLHAIAAFjkEAAAwCKHAAAAFjkEAACwyCEAAIBFDgEAACxyCAAAYJFDAAAAixwCAABY5BAAAMAihwAAABY5BAAAsMghAACARQ4BAAAscggAAGCRQwAAAIscAgAAWOQQAADAIocAAAAWOQQAALDIIQAAgLX2/wGdMNnnwlcNjgAAAABJRU5ErkJggg==" alt="" />
我们可以看到在外部通过类来访问是不行的,但内部通过类来访问却可以。
同样的,通过实例访问也不允许。
print a.__name
aaarticlea/png;base64,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" alt="" />
但是,私有化并不是语法上的强制,而是 python 隐藏了私有字段的访问入口,所以我们可以在新的入口中访问到私有字段:
print Test._Test__name
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUUAAAAfCAIAAAD/dEgvAAACL0lEQVR4nO3ay5GjMBSF4RuWQphErDAggtHOu8lA29HeUbBRBiShWfCSQLhpN6Zcd/6vurptWeiBOC2osqRDemcakVbEh6Wws8XbSfBiu+UQ84ibCsb1lcZtl1JnZXod/NJjfBhpRO4uplqdP7+GkuFn6fH5CIcKd2MakdaGosLZI/R/q4MZj8paNo84Hj5VLupUHVid4LcLEd19OGPT3Od2sr7y3se5tCJtdn42R637GqaTnxkfhmrSivVWGjG/RVpr/fzbuD7vzoads7quszOLfAXrs5jGY/zNNNP483XPz8bdxVRvp3aeg/Uh9SFkfa3XtHOuc8V1WF6Ze2MurrqUUpJ0vs5mHWwFW8vYpeYR1gP/ASM8V+9MYy+a0pV9fZoT576zFX3lHXneM/5//ZzFDnZ1B/FxI8T/aXNlHtFZaa7MM4D3Is+AHuQZ0IM8A3qQZ0AP8gzoQZ4BPcgzoMcb8xydERGR1bczgl2XADjHu/fnbXqjuz35MiiA112fZwDvQp4BPY7mOVgZmelueXo+XgI7lpjsfrrM89hKkfBtMwBeczDPtcdgMxTNH0VnjIvL350DVyXzW3Zy4KeO328Pe+uc1CdBzT/6Ms/51k+egR85uj+7Mcf5bjy/cifsz0t7AF50MM/zQ64UW2/5QL16fs6OmYqWrTjL7rjx326mfPQG8E18PwzQgzwDepBnQA/yDOhBngE9yDOgB3kG9CDPgB7kGdCDPAN6kGdAj38e6EUDw5Ht3AAAAABJRU5ErkJggg==" alt="" />
其格式是: 对象._类__字段名;这里是类的私有字段,所以使用的对象是类对象。
上面的代码使用的是类对象,也可以使用实例对象进行访问 a._Test__name 。
私有化其实就是‘混淆’了相应的属性,这样做还有一个好处,可以保护 __xxx 变量不会与父类中的同名变量冲突。如果父类中有也有一个 __xxx 的变量的话,父类中的变量不会被子类中 __xxx 覆盖。如果是非私有的字段 xxx ,就会被子类中的覆盖掉。所以私有化也是保护关键变量的好选择。
我们上面讲的都是类中的字段的私有化,同样的,我们也可以为实例的字段进行私有化。
class Test:
def __init__(self):
self.__name = 'scolia' # 实例的私有字段 def a(self):
print self.__name # 只能有内部方法能访问 a = Test()
a.a()
print a.__name # 试图通过实例访问
aaarticlea/png;base64,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" alt="" />
当然,因为实例属性类中并没有,所以不用考虑通过类来访问了。
同样的,这里也是隐藏了入口,访问格式依然是一样的,只不过这里的对象指的是实例了。
print a._Test__name
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM8AAAApCAIAAAAd/uqXAAADv0lEQVR4nO2az5XjIAzGVRYlbCOhDKcDbr5tB74Od1fhCx24CfZg/kggJ8SxmdmMfm/f28QRIODLh+wJeEHoBZzTjZuVmt27vSwaBoDJnpFRyc/PsA92ghPW4eBYLWpbjRoA7gB30Mt+zGhQx1bHJnDXL2zOog/spZsVDHQslHOYcJnhUQ5leCEtu0OCtQ27o613ZmxreDCxuB1h0Z6rzZlRmTW02f9aoDAygHezerg9zszo0wN7uZpbzMpO0XgWE3O2sbsqw1bezvBCGncnkM0mzeKy6WBjc7OCQdsGtWFLQOteZVkeVY1qK/o5MHncpGxOhHLwMH0/w+tYW3cnBJdmc9l08Fje2wn0pPXyXG3t2ViNBgglTjrdwlttNwe6A0xf4cX2L0/emBHgnn0oHJTbsobKqYzZAit/NTQAZ2j1ADBpPcR+emRIYFqNxtHSkMTUvKIVUkUxasvFD/WkMHpcExsu7rcqx9qWfTVqOlNt3k6oAqgXIlu9NfW009sh7v12PX59szPVMd6zB6Wdy00qMxy0pT1fmSEl2VIadDVqsrgwYGIK2tVGzYZRW91VPfqiYQD2BHs0VujH6uG1k9S79eFJ9OhQ80kQduKmXbx96YW3eqhdxOp6IdgM88XrMuTWaqCuuV3ENsbGYNbW3SlvD9kMk7/ujc5Op2jFjhX72UsvQerQZzcv6KjaVT2wm2eXnX1inYPEODMmcTyrXYoMi56vypADCSWoJHqbSk3qmJK23SnMhs69uq8q55VHZ84rrhUdy823aAQvPQFpKJbDURWb1P5vJ2pCMVIv+Uugl1wleLa+wTF//+Sv4J0rTdgMt4BRqVirXZjh9MUmkx7cpJ7V7IpHeiSGpWF3uGds4dkH+8wojYVHRyUsWp+qFW9sYWVOerpLen/0WIs73TqTMtwzv2/P8FxqY/u2sU5X2x7oju9nEG6miBf+rAw/j25qEwRRm9ARUZvQD1Gb0A9Rm9APUZvQD1Gb0A9Rm9CPq9TmjAIAgOJZqdXlFeEXcam31dpy5nbGr7WF/5POahN+NaI2oR9NarMaAiqeg7EuA/TLMkUifKm20Av97VPVjfDBtKiNK7/Udil95IxSxuX/dxoWV9JbccFfQeNJuvlS0tEDGeGPnqoN26ao7fNp8jYTVIadLL0yJ3hb7k/4ZFrUloorILZFC7mibkNt4qVsY0hZwTRvN0VLPuETkb8lCP0QtQn9ELUJ/RC1Cf0QtQn9ELUJ/RC1Cf0QtQn9ELUJ/RC1Cf0QtQn9ELUJ/fgHq1ic/jt1kIwAAAAASUVORK5CYII=" alt="" />
总结:公用字段可以通过类对象,实例对象,类里面的方法进行访问。
而私有字段则一般通过类里面的方法进行访问。
一般不建议强制访问私有字段。
关于类中的字段,和其私有化就先将这么多,以后有需要再补充。