Python学精很难?我看了文章初级Python只会调库,实际呢?

218 篇文章 7 订阅
207 篇文章 6 订阅

感觉不到哪里难,一直以为Python只是调库???Python有生成器,元类之类的,但是到底难在哪里了?

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”呢?哪冒出来滴?
图片.png

把子类 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”了呢?

Python学精很难?我看了文章初级Python只会调库,实际呢?

不要轻易调用super,我现在都是直接写类名调用。不过写Mixin的时候可以依赖这种行为

最后小编多说一句!小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编:“01”即可领取。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值