我有一个python3类定义如下:
class Institution(object):
def __init__(self, *args):
self.name = args[0].strip()
self.authors = set()
[...]
由于name
描述了该机构,我希望name
不要成为该机构的属性,而应该是该类的基础。
因此,我将定义更改为:
class Institution(str,object):
我希望能够以self
的观点访问str
。
在__init__(self, *args)
内,我尝试了:
self = args[0].strip() # → 'str' object has no attribute 'authors'
str(self) = args[0].strip() # → can't assign to function call
str.__init__(self, args[0].strip()) # → object.__init__() takes no parameters
super(str, self).__init__(args[0].strip()) # → object.__init__() takes no parameters
super(str, self) = args[0].strip() # → can't assign to function call
有没有办法实现我想要做的事情?