python类初始化函数_调用初始化内的类函数__

我正在编写一些代码,获取文件名,打开文件,并解析一些数据。我想在课堂上做这个。以下代码有效: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也有相当多的缩进级别。我更愿意将函数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__内调用类函数?还是我想错了?


版权声明:本文为weixin_39847945原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。