【发布时间】:2010-08-09 18:34:45
【问题描述】:
我对实际的编程语言相当陌生,Python 是我的第一个。我对 Linux 有一点了解,足以用它找到一份暑期工作(我还在上高中),而且在工作中,我有很多空闲时间用来学习 Python。
但有一件事让我很着迷。当你有诸如
之类的表达式时,Python 到底有什么不同?x.__add__(y) <==> x+y
x.__getattribute__('foo') <==> x.foo
我知道方法的作用和内容,并且知道它们的作用,但我的问题是:上面的双下划线方法与看起来更简单的等效方法有何不同?
P.S.,我不介意被讲授编程历史,事实上,我觉得了解它非常有用 :) 如果这些主要是 Python 的历史方面,请随意开始漫谈。
【问题讨论】:
-
你可以在这里找到一些信息:docs.python.org/reference/…