y394643656
发表于 2017-8-5 00:07:14
print那里是不是漏了( )?
y394643656
发表于 2017-8-5 00:11:55
__bases__功能好像用不了,你们呢?
y394643656
发表于 2017-8-5 00:12:32
zhang12247 发表于 2016-4-5 11:53
**** 作者被禁止或删除 内容自动屏蔽 ****
我的也是这样...
y394643656
发表于 2017-8-5 00:14:36
roar123 发表于 2015-9-17 20:47
看不懂,看来还得继续努力啊:sad
{:10_266:} 同样不是很懂+1
tongtongtong
发表于 2017-8-14 16:08:59
jiexinren 发表于 2015-8-3 16:04
这个在我电脑上无法运行啊(3.4.3,64位版本)
Traceback (most recent call last):
File "E:/桌面/j ...
请问你的问题解决了吗
银色的色
发表于 2017-10-8 22:35:47
不懂额。{:10_269:}
rsdeepblue
发表于 2018-1-19 10:59:16
这是什么意思?父类里面有插件的方法,两个子类继承了这个方法,然后在两个实例化的子类中插入类c,于是c就获得了两个子类的方法么?
伊尹
发表于 2018-1-30 10:24:07
{:10_256:}
majia1015
发表于 2018-2-1 15:11:56
owner.__dict__ = f
实例化c就是owner,那么是什么意思,
回忆001
发表于 2018-2-14 13:31:30
Plugin 好东西, 好东西往往不知道是啥意思
回忆001
发表于 2018-2-14 13:32:08
有人懂第三个的原理吗?
况qiqi
发表于 2018-3-21 19:28:52
在python3下运行出错
Traceback (most recent call last):
File "E:/pythonpro/lesson36-10.py", line 43, in <module>
AFeature().plugin(c)
File "E:/pythonpro/lesson36-10.py", line 12, in plugin
owner.__dict__==f
KeyError: 'get_a_value'
abdgcjyem
发表于 2018-4-10 14:32:41
emmm 一知半解 继续加油
fuwaandhuluwa
发表于 2018-5-5 22:18:42
牛逼,Python3也正常能运行插件方式,使用__dict__可以扩展对象的方法,这写方法保存在_exported_methods 列表里边
womuer
发表于 2018-5-15 23:59:45
c = Combine() #将c归入组合类
AFeature().plugin(c) #将A类以及父类的方法属性给予c
BFeature().plugin(c) #同上
c.get_a_value() #调用A类的方法
c.get_b_value()
不知对不对
学学看看
发表于 2018-6-27 19:41:56
贺老大的逆袭
发表于 2018-7-11 23:13:36
前两个都很容易理解,第三个看着好复杂啊
ErTian
发表于 2018-7-25 14:51:48
略懂
Yukawa
发表于 2018-8-10 17:16:31
况qiqi 发表于 2018-3-21 19:28
在python3下运行出错
Traceback (most recent call last):
File "E:/pythonpro/lesson36-10.py", line...
你多打了一个等号,变成判断是否相等了。而这里是要在dict里面新创建一个方法并赋值
土匪加步枪
发表于 2018-8-19 13:43:41
太经典了。重点,这个是修改类的实列化对象,并不修改类。所以经典。需要仔细看,重复看,才能品味出。但是我觉得最后有点写的不好,应该改一些就好了。
例如:
class Combine:
def get_a_value(self):
print('my is origin func')
运行变成:
c=Combine()
AFeatrue().plugin(c) #对实列化对象c进行修改,get_a_value函数
BFeature().plugin(c)#对实列化对象c添加get_b_value函数
b=Combine()
c.get_a_value()
b.get_a_value()
c.get_b_value()