感觉不到哪里难,一直以为Python只是调库???Python有生成器,元类之类的,但是到底难在哪里了?
Python 太简单,Python 不仅仅简单,而且还“写的时候爽,重构就火葬场”,Python 还慢,你看 ,你看,Python 这么多毛病,肯定都是因为它太简单,是小儿科玩具语言吧?
随手来一题,很简单的。大家看看!
先定义俩类:
class A: def __init__(self): print("A", end=" ") super().__init__() class B: def __init__(self): print("B", end=" ") super().__init__()
再来一个子类:
class C(A, B): def __init__(self): print("C", end=" ") A.__init__(self) B.__init__(self)
运行:
In [23]: C()C A B B
怎么搞得,怎么多了一个“B”呢?哪冒出来滴?
把子类 C 再变变看?
class C(A, B): def __init__(self): print("C", end=" ") super(A, self).__init__()
再运行:
In [25]: C()C B
What?不懂不懂。
改成下面这样呢?
class C(A, B): def __init__(self): print("C", end=" ") super(B, self).__init__()
结果是:
In [31]: C()C
咋就只打印出“C”了呢?
不要轻易调用super,我现在都是直接写类名调用。不过写Mixin的时候可以依赖这种行为
最后小编多说一句!小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编:“01”即可领取。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)