小编Jof*_*eon的帖子

如何正确地重载__add__方法?

我需要写一个涉及日期的课程.我应该重载+运算符以允许将日期添加到日期.解释它Date是如何工作的:一个对象以年,月,日的格式表示为(2016,4,15).向此添加整数10应该会产生(2016,4,25).该Date班有值self.year,self.month,self.day.

我的问题是代码应该在form(Date + 10)和(10 + Date)中工作.还有Date - 1.应该在添加负数天的意义上工作.Date(2016, 4, 25) - 1回报Date(2016, 4, 24).

我的代码完美地以(Date + 10)的形式工作,但不是以(10 + D)或(D - 1)形式.

def __add__(self,value):
    if type(self) != int and type(self) != Date or (type(value) != int and type(value) != Date):
        raise TypeError
    if type(self) == Date:
        day = self.day
        month = self.month
        year …
Run Code Online (Sandbox Code Playgroud)

python overloading class

14
推荐指数
1
解决办法
6262
查看次数

在格式方法python中使用'{'作为字符串

我希望能够使用格式化方法打印类似"{x}"之类的东西,但花括号的性质让我感到困惑.

我试过了

'{{}}'.format(x)
Run Code Online (Sandbox Code Playgroud)

但是返回了一个值错误.有没有办法告诉python花括号是用作字符串而不是格式的参数?

python string string-formatting

2
推荐指数
1
解决办法
42
查看次数

标签 统计

python ×2

class ×1

overloading ×1

string ×1

string-formatting ×1