OOP (일반적으로 함수 프로그래밍에 사용됨)를 배우고 있습니다. 이 작은 스크립트는 여기에서 실행되지만 개체의 데이터 값을 영구 저장하는 방법을 잘 모르겠습니다 (이 경우 개체의 인스턴스 이름은 count이며 인스턴스에 self.count를 저장하려고합니다). '텍스트'의 '0 ['여기 '개체의 인스턴스에 값을 올바르게 저장하는 방법은 무엇입니까?
,'A ','무리 '을'이다 '
총 단어 수는 : 여기
#! /usr/bin/python3
class WordCounter:
def __init__(self, count = 0):
self.__count = count
def set_count(self, path):
try:
nfile = open(path, "r")
except:
print("Could not open file")
fileList = []
lowerCaseList = []
line = nfile.read()
fileList.append(line.split())
nfile.close
lowerCaseList = [word.lower() for word in fileList[0]]
print(lowerCaseList)
self.count = len(lowerCaseList)
def get_word_count(self):
return self.count
def __str__(self):
return "Total word count is: " + str(self.__count)
if __name__ == "__main__":
count = WordCounter()
print(count)
count.set_count("/home/swim/Desktop/word_counter.txt")
print(count.get_word_count())
print(count)
그리고
는 출력 ',' ',' ',' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '할 수있다.총 단어 수 : 0
get과 set 메서드가 제대로 작동하는지 알 수 있습니다. 하지만 self.count 변수를 count 객체에 저장하려면 어떻게해야합니까?
print (count)는 get/set의 전후에 0으로 평가됩니다.
내가 라인 count.set_count 후뿐만 아니라 STR 방법 (16)를 인쇄 할 기대했다 ("/ 경로// 내/텍스트/파일")
어떤 조언을? 다시
self.count = count
각 방법에
self.__count
또는self.count
를 사용하는 이유는'STR (계산 .__ 자기)'이 아니라'STR (self.count을)'이 ? 'self.count = len (lowerCaseList)'와'self .__ count = count '와 같은 이름으로 속성을 두 번 정의했지만, 아마도 그것들은 같은 것으로 의도했다. 또한,'nfile.close'는 close 메소드를 호출하기 위해 괄호가 필요하기 때문에 파일을 닫지 않습니다. – roganjosh왜 수를 저장하는 데 2 개의 변수를 사용합니까? –
고맙습니다. 나는 무표정한 hahaha 인 것 같은 기분이 든다. 그 점을 지적 해 주셔서 감사합니다. __str__ 메서드를 사용하여 16을 올바르게 인쇄하고 인스턴스에 올바르게 저장했습니다. –