- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
<分区>
Possible Duplicate:
accessing a python int literals methods
在 Python 中,一切皆对象
。
但话又说回来,为什么下面的代码片段不起作用?
1.__add__(2)
但是,这确实有效:
n = 1
n.__add__(2)
n
和 1
有什么区别?
它不起作用不是设计失败吗?例如,它也适用于 string
文字。
"one".__add__("two")
相比之下,它在其他纯面向对象的语言上也能很好地工作。
让我们仔细看看这个编译 C# 示例:
Console.WriteLine(100.ToString());
那么,从万物皆对象
的角度来看,Python
与C#
有什么区别?
class C(object): def __init__(self, value): self.value = value def __add__(self, other):
当我尝试这个时: >>> "a".__add__("b") 'ab' 它正在工作。但是这个 >>> 1.__add__(2) SyntaxError: invalid syntax 不工作。这是有效的
如果 python 是一种支持重载的静态编程语言,那将很容易解决。我正在制作一个名为 Complex 的类,它是复数的表示(我知道 python 有它自己的,但我想自己制作一个),其中 a 是实数,b
在 python 3 中,我想在我创建的类中进行运算符重载。 我知道__add__代表运算符+。 -的方法是什么? , * , ^ , |和 & ? 最佳答案 参见 the python docs o
我想合并定义了 __add__ 方法的类的类实例列表。 即,我有一个类实例列表L=[A,B,C,D],我想要它们的总和E = A+B+C+D,但一般化后,我可以使用 E = sum(L) 代替 +
我一直在通过搜索教程来学习 Python 2。我正在发现关于类的事情。我在 __add__ dunder-method 中遇到了一些麻烦。我不知道如何添加 一个类的 2 个对象。 为了更清楚: cla
我希望实现如下内容。有一个类foo其中包含 infoo 的列表对象。我在想,为了重载 __add__运营商我应该 class foo(object): def __init__(self, i
我正在编写一个解析器,能够将字符串解析为方程。 当我遇到一个符号(例如 +)时,我需要生成一个接受两个输入并将它们相加的函数。 虽然我可以简单地编写一个 lambda 函数来做到这一点,但为这样的目的
我正在为我自己的解释器开发一个简单的类型系统。我正在写这样的东西: class Base(object): def __init__(self, content): self.
我正在阅读学习 Python 第 5 版,我需要对这一段进行更多解释: The __add__ method of strings, for example, is what really perfo
在 Python 中,我可以重载对象的 __add__ 方法(或其他双下划线又名“dunder”方法)。这允许我在使用 Python 运算符时为我的对象定义自定义行为。 是否有可能从 dunder 方
我需要编写一个涉及日期的类。我应该重载 +运算符允许将天数添加到日期中。解释它是如何工作的:A Date对象以 (year, month, date) 的格式表示为 (2016, 4, 15)。将整数
我目前正在学习 python 运算符重载(准确地说是 __radd__ 和 __add__),我有以下代码 class Commuter1: def __init__(self, val):
我正在(作为练习)尝试制作一个使用罗马数字的类(class)。我试图将尽可能多的功能放入其中,所以我考虑让运算符(operator)在它们上工作。我发现(例如,问题在其他方法对中仍然存在)__add_
我有一个类,其中包含一些数据。此类的两个对象的运算符 + 应该合并来自两个对象的数据并返回一个新对象。但是,如果在 += 运算符的情况下从添加的对象附加数据并返回 self 应该会好得多。这里有一些伪
class Matrix: def __init__(self, data): self.data = data def __repr__(self): return repr
我一直认为在 Python (3.5) 中使用“+”运算符会在后台调用 __add__ 方法并返回总和。但是,当涉及负数时,我注意到一些古怪的行为。当然, >>>-3 + 7 返回 4 但是(!) >
在 Python 中,add 和 __add__ 方法有什么区别? 最佳答案 名为 add 的方法就是那个 - 具有该名称的方法。它对语言或解释器没有任何特殊意义。关于它唯一可以说的是集合有一个同名的
当将整数值添加到浮点值时,我意识到如果在浮点上调用 __add__ 方法工作正常,例如: >>> n = 2.0 >>> m = 1 >>> n.__add__(m) 3.0 但如果对整数调用则不是:
我有一个矢量类: class Vector: def __init__(self, x, y): self.x, self.y = x, y def __str__(s
我是一名优秀的程序员,十分优秀!