Tips:
Python免费课程报名中,点击文末“阅读原文”快速抢!
Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。设计者开发时总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。
最近觉得 Python 太“简单了”,于是在老司机面前放肆了一把:“我觉得 Python 是世界上最简单的语言!”。于是老司机给我了一份满分 100 分的6道题,下面是题目的错误实录:
或者答案可以是这样
此类装饰器能够运行在普通函数上:
此类装饰器运行在方法上会报错,为什么?
如果坚持使用类装饰器,应该如何修改?
__call__
方法可以用来重载圆括号调用,其实问题根本不是这个。现在大家可以看到 a()
似乎等价于 a.__call__()
,好的,现在我们写出了如下的代码
看起来一切正常。不过尝试说明是什么问题,改写 Grade 描述符试一下:
不过这样会导致更大的问题,请问该怎么解决这个问题?
两种方法
第一种:
试求出以下代码的输出结果。
现在有一堆类要实现为单例模式,打算照着写一个元类,这样可以让代码复用:
报错啊,下面这段代码能够捕获一切属性调用并打印参数
试解释为什么给 getattribute 打补丁成功,而 new 打补丁失败。
如果坚持使用元类给 new 打补丁来实现单例模式,应该怎么修改?
其实这是最气人的一点,类里的 __new__
是一个 staticmethod
因此替换的时候必须以 staticmethod
进行替换。答案如下:
Python这门语言还是博大精深的,如果你现在刚刚学不久就以为很好了,小心这里面其实有很多坑。
* 版权声明:转载文章和图片均来自公开网络,版权归作者本人所有,推送文章除非无法确认,我们都会注明作者和来源。如果出处有误或侵犯到原作者权益,请与我们联系删除或授权事宜。
- 福利 -
现在人工智能爆发,Python是一门脚本语言,它更适合去做人工智能这个领域,在人工智能上使用Python比其他编程语言有更大的优势。
学习一门python语言的前景越来越好,如果想在IT领域发展的话,可以报名达内Python+人工智能课程,点击页面底部“阅读原文”预约免费课程。
回复「课程」查看Python课程详情
回复「教程」下载《Python从入门到精通》60集视频
回复「干货」下载《Python编程入门》电子书
回复「入门」下载《简明Python教程》电子书
版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《千万不要觉得你会Python了,80%的人看完这6道题都傻眼了》的版权归原作者「Python人工智能」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458
文章来源: 阅读原文
Python人工智能微信公众号:python009
手机扫描上方二维码即可关注Python人工智能微信公众号