我试图在一个名为getphone的方法下设置一个参数角色=‘r’。它在init下工作正常,使用超级程序,但我不知道如何在另一种方法下完成它
该角色是为正在运行的api设置权限级别。
这段代码起作用了
PATH = 'home_drive_'
PLATFORM = 'Linux_'
ITEM = '_PC'
class Credential:
def __init__(self, *, path, platform, role='', **kwargs):
super().__init__(**kwargs)
self.role = role
self.username_file = path + platform + role
class AXL(Credential):
def __init__(self, *, item, **kwargs):
super().__init__(role='rw', **kwargs)
self.item = item
def getphone(self):
self.role = 'r'
return self.username_file + self.item
def writephone(self):
self.role = 'rw'
return self.username_file + self.item
def statusphone(self):
self.role = 'rwx'
return self.username_file + self.item
reg1 = AXL(path=PATH, platform=PLATFORM, item=ITEM)
print(reg1.getphone())
print(reg1.writephone())
print(reg1.statusphone())在AXL类下,我希望将角色=‘r’移到getphone方法下
我试过了,但我不明白为什么我需要设置路径和平台。
PATH = 'home_drive_'
PLATFORM = 'Linux_'
ITEM = '_PC'
class Credential:
def __init__(self, *, path, platform, role='', **kwargs):
super().__init__(**kwargs)
self.role = role
self.username_file = path + platform + role
class AXL(Credential):
def __init__(self, *, item, **kwargs):
super().__init__(**kwargs)
self.item = item
def getphone(self):
super().__init__(path=PATH, platform=PLATFORM, role='r')
return self.username_file + self.item
def writephone(self):
super().__init__(path=PATH, platform=PLATFORM, role='rw')
return self.username_file + self.item
def statusphone(self):
super().__init__(path=PATH, platform=PLATFORM, role='rwx')
return self.username_file + self.item
reg1 = AXL(path=PATH, platform=PLATFORM, item=ITEM)
print(reg1.getphone())
print(reg1.writephone())
print(reg1.statusphone())沙箱可以找到这里
发布于 2019-03-26 12:47:52
没有一个角色与实例相关联;相反,该角色与实例调用的方法相关联。尝尝这个。
PATH = 'home_drive_'
PLATFORM = 'Linux_'
ITEM = '_PC'
class Credential:
def __init__(self, *, path, platform, **kwargs):
super().__init__(**kwargs)
self.username_file = path + platform
class AXL(Credential):
def __init__(self, *, item, **kwargs):
super().__init__(**kwargs)
self.item = item
# "Private" method used to implement the other phone methods
# You could inline this if you want.
def _phone(self, role):
return self.username_file + role + self.item
def getphone(self):
return self._phone('r')
def writephone(self):
return self._phone('rw')
def statusphone(self):
return self._phone('rwx')
reg1 = AXL(path=PATH, platform=PLATFORM, item=ITEM)
print(reg1.getphone())
print(reg1.writephone())
print(reg1.statusphone())https://stackoverflow.com/questions/55340337
复制相似问题