栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么Python使用“魔术方法”?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么Python使用“魔术方法”?

AFAIK

len
在这方面很特殊,并且具有历史渊源。

这是FAQ中的报价:

为什么Python使用方法来实现某些功能(例如list.index()),却使用其他方法的功能(例如len(list))?

主要原因是历史。函数用于那些对一组类型通用的操作,即使对于根本没有方法的对象(例如,元组),这些操作也可以使用。使用Python的功能部件(map(),apply()等)时,具有可以轻松应用于对象的不定形集合的函数也很方便。

实际上,将len(),max(),min()实现为内置函数实际上比将它们实现为每种类型的方法要少。人们可能会质疑个别情况,但这是Python的一部分,现在进行这样的基本更改为时已晚。必须保留功能以避免大量代码损坏。

其他“魔术方法”(在Python民俗中实际上称为 特殊方法 )很有道理,其他语言中也存在类似的功能。它们通常用于使用特殊语法时隐式调用的代码。

例如:

  • 重载运算符(存在于C ++和其他语言中)
  • 构造函数/析构函数
  • 用于访问属性的挂钩
  • 元编程工具

等等…



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/640917.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号