魔术方法——让自定义对象更像内置类型

所谓魔术方法,指的是双下划綫开头和结尾的方法,自定义一个类someclass,然后用dir(someclass)就可以看到python内置的这些魔术方法了。
这些魔术方法可让自定义的类有内置类型的性质(所谓A像B,指的是A像B的某些性质)。比如自定义的类可能是无法迭代的,但是通过定义iter()与next()方法,可以让类变成可迭代对象。
官方不建议我们用双下划线定义自己的函数。

name: if name == "main":每当Python解释器读源代码的时候,都会给name赋予一个变量,如果源代码直接被执行,则name == "main",否则不等。这样做的好处是,如果源代码模块只是被imported进另一块代码,那么解释器就只会创建相应的命名变量和方法,而不会去执行。更多参考What does if name == “main”: do?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,958评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,403评论 25 708
  • Spark SQL, DataFrames and Datasets Guide Overview SQL Dat...
    草里有只羊阅读 18,378评论 0 85
  • 百丈禅师说:“烦恼以忍辱为第一,是非以不辨为汤药”,说的真是好。年轻时世界黑白两分,遇事必鉴对错;后来人性越长,脸...
    憨憨爹阅读 251评论 0 3
  • 周末我带学生去郊游在一片野花丛中,同学们纷纷谈论着自己喜欢的花,这时全校闻 名的“调皮大王”小强大声说:“老师我最...
    星夜兼程工作笔记阅读 440评论 0 1