第26970题 单选
关于以下Python Num类代码的说法,正确的是?
class Num:
    def __init__(self, val):
        self.Value = val
    def __add__(self, other):
        return self.Value + other.Value
    def add(self, other):
        return self.Value + other.Value

a = Num(10)
print(a + Num(20),
Num(20).__add__(a), a.add(Num(20)))
print(a)
A

在倒数第2行代码中,a + Num(20) 将执行正确,而 Num(20).add(a) 将导致错误

B

由于类Num中没有定义加号运算符,所以倒数第2行代码中的 a + Num(20) 被执行时将导致错误

C

如果将倒数第2行代码中的 a.add(Num(20)) 修改为 Num(20).add(a) 将导致错误,因为 Num(20) 不是一个对象,而a是类Num的对象

D

倒数第1行代码 print(a) 将被正确执行,虽然没有定义相关成员函数,或者称之为方法