- 论坛徽章:
- 1
|
- #! /usr/bin/python
- import sys
- import types
- def newadd(self,name):
- attrname = ''
- if hasattr(self,'__class__'):
- if hasattr(self.__class__,'__name__'):
- attrname = '_%s__array'%(self.__class__.__name__)
- array = getattr(self,attrname,[])
- array.append(name)
- setattr(self,attrname,array)
- return
- class DynArray(object):
- def __init__(self):
- self.__array = []
- return
- def __str__(self):
- s = '['
- i = 0
- for si in self.__array:
- if i > 0 :
- s += ','
- s += '%s'%(si)
- i += 1
- s += ']'
- return s
- def main():
- dyn = DynArray()
- dyn.newadd = types.MethodType(newadd,dyn)
- for s in sys.argv[1:]:
- dyn.newadd(s)
- print('dyn %s'%(dyn))
- return
- if __name__ == '__main__':
- main()
复制代码
回复 1# cdsfiui
上面是可以对内部变量进行修改的。
|
评分
-
查看全部评分
|