私はクラスメソッドを呼び出す際に、まずリストからコピーを取得しようとしています。 これとは別に、この方法は正しく機能します。クラスメトリックを呼び出すことができません
class testCandidate:
voitingSistem=VoitingSystem()
voitingSistem.addCandidate("Putin")
candidate=Candidate("Putin")
print(candidate.GetName())
print(voitingSistem.voiting.getCandidate(0).GetName())
OUT:
Traceback (most recent call last): Putin File "E:/Dropbox/Pyton/Network/Client-Server/Server/testCandidate.py", line 5, in class testCandidate: File "E:/Dropbox/Pyton/Network/Client-Server/Server/testCandidate.py", line 10, in testCandidate print(voitingSistem.voiting.getCandidate(0).GetName()) AttributeError: 'str' object has no attribute 'GetName'
class VoitingSystem:
users=[];
voiting="";
def __init__(self) -> None:
self.voiting=Voiting("Voiting1");
super().__init__()
def addCandidate(self, name):
candidate=Candidate(name)
self.voiting.candidats.append(candidate)
return None
def getCandidate(self,index):
return self.voiting.getCandidate(index)
class Voiting(object):
name=""
candidats=[]
def __init__(self,Name) -> None:
super().__init__()
self.name=Name
def getCandidates(self):
return self.candidats;
def getCandidate(self,index) -> Candidate:
return self.candidats[index];
def addCandidate(self,Name):
self.candidats.append(Name)
class Candidate:
name="";
voices=0;
def __init__(self,Name):
self.name=Name;
self.voices=0;
def SetName(self,Name):
self.name=Name;
def GetName(self):
return self.name;
どうしますか? – jacoblaw
またインデントを修正できますか? – jacoblaw
'testCandidate'はなぜクラスでもありますか?裸のモジュールレベルのコードだけでなく、関数である必要があります。 – chepner