파일 이름을 가져 와서 파일을 열고 일부 데이터를 파싱하는 코드를 작성 중입니다. 나는 이것을 수업 시간에하고 싶다. 다음 코드가 작동합니다.
class MyClass():
def __init__(self, filename):
self.filename = filename
self.stat1 = None
self.stat2 = None
self.stat3 = None
self.stat4 = None
self.stat5 = None
def parse_file():
#do some parsing
self.stat1 = result_from_parse1
self.stat2 = result_from_parse2
self.stat3 = result_from_parse3
self.stat4 = result_from_parse4
self.stat5 = result_from_parse5
parse_file()
그러나 그것은 모든 파싱 기계를 __init__
수업 의 기능 범위에 두는 것과 관련이 있습니다. 이 단순화 된 코드에서는 이제는 괜찮아 보이지만 함수 parse_file
에는 몇 가지 수준의 indention도 있습니다. 함수를 parse_file()
아래와 같이 클래스 함수로 정의하고 싶습니다.
class MyClass():
def __init__(self, filename):
self.filename = filename
self.stat1 = None
self.stat2 = None
self.stat3 = None
self.stat4 = None
self.stat5 = None
parse_file()
def parse_file():
#do some parsing
self.stat1 = result_from_parse1
self.stat2 = result_from_parse2
self.stat3 = result_from_parse3
self.stat4 = result_from_parse4
self.stat5 = result_from_parse5
물론이 코드는 함수 parse_file()
가 함수 범위 내에 있지 않기 때문에 작동하지 않습니다 __init__
. __init__
해당 클래스 내에서 클래스 함수를 호출하는 방법이 있습니까? 아니면 내가 잘못 생각하고 있습니까?