鱼C论坛

 找回密码
 立即注册
楼主: 小甲鱼

[扩展阅读] Python Mixin 编程机制(转)

  [复制链接]
发表于 2020-6-17 09:50:22 | 显示全部楼层
最后这个看了半天居然没有答案,个人理解是c实例化什么都没有,但是通过插入方法把其他类的方法插入到了C的dict从而扩展了c,这样c就拥有了get_a_value和b_get_b_value方法
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-21 16:56:18 | 显示全部楼层
C.__bases__ +=(A,B,)报错啊,3.8.3
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-17 12:24:46 | 显示全部楼层
小甲鱼是大帅锅!!!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-7-19 21:13:04 | 显示全部楼层
请兄弟们帮助我理解下第三段代码吧,BALLBALL!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-12 05:22:12 | 显示全部楼层
学习!感谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-12 18:19:19 From FishC Mobile | 显示全部楼层
不懂(=_=)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-20 17:08:50 | 显示全部楼层
好蒙。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-9-26 19:41:33 | 显示全部楼层
为什么在Python中用bases会报错
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-6 15:25:33 | 显示全部楼层
cashchen17909 发表于 2017-7-27 13:53
f.__name__是啥意思呀。。哪位帮忙解释下。。

同问,这里看不懂,__name__一般不都是__main__么
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-6 15:38:02 | 显示全部楼层
darksolitary 发表于 2019-2-18 12:12
# __bases__方法是查看某个类继承的所有父类
在python3.0+上(我也是猜测:因为我用的是小甲鱼推荐的3.0+ ...

请问f.__name__是什么呀?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-6 15:53:09 | 显示全部楼层
zaihebian 发表于 2020-6-3 09:53
class PlugIn(object):
    def __init__(self):
        self._exported_methods = []

同问,请问您知道了吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-12 19:54:21 | 显示全部楼层
哪位同学的vip号能借我一下 我真的想学习 好人一生平安 ,没有恶意
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-27 14:43:47 | 显示全部楼层
python3不行
  1. >>> A.__bases__ += (B,)
  2. Traceback (most recent call last):
  3.   File "<pyshell#25>", line 1, in <module>
  4.     A.__bases__ += (B,)
  5. TypeError: Cannot create a consistent method resolution
  6. order (MRO) for bases object, B
  7. >>> class C:
  8.         pass

  9. >>> C.__bases__ += (A, B, )
  10. Traceback (most recent call last):
  11.   File "<pyshell#29>", line 1, in <module>
  12.     C.__bases__ += (A, B, )
  13. TypeError: Cannot create a consistent method resolution
  14. order (MRO) for bases object, A, B
  15. >>> B.__bases__ += (A, )
  16. Traceback (most recent call last):
  17.   File "<pyshell#30>", line 1, in <module>
  18.     B.__bases__ += (A, )
  19. TypeError: Cannot create a consistent method resolution
  20. order (MRO) for bases object, A
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-4 22:44:04 | 显示全部楼层
不懂
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-11-7 19:38:43 | 显示全部楼层
小甲鱼老师,为啥示范代码是Python2.X的语法?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-24 19:28:03 | 显示全部楼层
a feature.
b feature.
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-24 19:28:39 | 显示全部楼层

结果是这个 ---第三个的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-8 14:28:00 | 显示全部楼层
最后一个,照着输入直接报错
  1.     def get_a_value(self):
  2.         print 'a feature.'
  3. message": "Missing parentheses in call to 'print'. Did you mean print('a feature.')?
  4.     del owner.__dict__[f.__name__]
  5. KeyError: 'get_a_value'
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-2 12:34:14 | 显示全部楼层
这次作业没好好抄嘛,print都写错着呢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-15 16:46:47 | 显示全部楼层
太棒了,简洁明了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-3 18:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表