《Python基础教程》复读笔记(3)
閱讀時間:全文 211 字,預估用時 2 分鐘
創作日期:2017-04-08
下篇文章:《Python基础教程》复读笔记(2)
BEGIN
__init__
、__getitem__
、__setitem__
和__len__
__init__
: 对象的构造函数__getitem__
: 使对象具有下标索引的能力如,Obj[2]
__setitem__
: 使用下标索引的方式为对象属性赋值如,Obj[4] = 1
__len__
: 让对象具有len方法如,len(Obj)
# 定义rnet.py文件
class Rnet:
def __init__(self):
self.mydatas = {}
def __getitem__(self, key):
return self.mydatas[key]
def __setitem__(self, key, value):
self.mydatas[key] = value
def __len__(self):
return len(self.mydatas)
# 同目录下进入python命令行
>>> from pprint import pprint #用于打印对象属性
>>> from rnet import * #引入rnet.py文件
>>> rn = Rnet()
>>> pprint(vars(r))
{'mydatas': {}}
>>> rn[1] = 5
Traceback ...
KeyError: 1
>>> rn[2] = 5
>>> rn[2]
5
>>> rn['haha'] = 'hehe'
>>> rn['haha']
'hehe'
>>> pprint(vars(rn))
{'mydatas': {2: 5, 'haha': 'hehe'}}
>>> len(rn)
2
#通过实验很容易的感知到了这种方式的便利,并且操作都是面向操作本身,与所操作的属性无关,达到了面向对象编程多态的特性。
FINISH
下篇文章:《Python基础教程》复读笔记(2)