在python中为变量分配一个附加类(显示R中的等价)

时间:2018-04-29 05:10:42

标签: python r python-3.x class oop

R 中,您可以执行以下操作:

x <- 3
cl <- class(x)
class(x) <- c("abc",cl)

因此变量'x'将是一个整数,并且属于用户定义的类'abc'。

我想在 Python 中做类似的事情。我的变量'x'应该被认为是整数,并且还应该具有名为“abc”的用户定义类的属性。

1 个答案:

答案 0 :(得分:2)

是的,Python支持多重继承:

class indigestion():
    def burp(self):
        return " ".join("burp" for _ in range(int(self)))


class int_with_indigestion(int, indigestion):
    pass

class float_with_indigestion(float, indigestion):
    pass

n = int_with_indigestion(13)

print(n ** 2)
print(n.burp())

f = float_with_indigestion(5.3)

print(f ** 2)
print(f.burp())

<强> USAGE

> python3 test.py
169
burp burp burp burp burp burp burp burp burp burp burp burp burp
28.09
burp burp burp burp burp
>