Python从自己的嵌套方法

时间:2017-09-13 14:35:55

标签: python class-method

我试图从调用第二个方法C的方法A返回一个自定义类对象。方法A和C都在名为StreetList的同一个类中。我使用方法C的原因是还有另一种方法B也会调用C,因此我不想在C中重复代码。

我希望可以在Jinja HTML中访问该类的所有属性,因此问题。

如果输入正确的参数,方法C会正确返回StreetList类对象。但是我做错了,如果我调用A,A不返回类StreetList,只返回None对象。方法A,B和C的参数和内部代码就我测试而言都很好,我认为我有一种语法误解。

此处的类init方法:

class StreetList(object):
    def __init__(self, list_length, street, district, numrange=None, adoption=None, rdclass=None, length=None,
             road_no=None, has_tfl=None, tfl_rd=None, cross_boro=None, boro1=None, boro2=None,
             is_split=None, split=None):
    self.list_length = list_length
    self.street = street
    self.district = district
    self.numrange = numrange
    self.adoption = adoption
    self.rdclass = rdclass
    self.length = length
    self.road_no = road_no
    self.has_tfl = has_tfl
    self.tfl_rd = tfl_rd
    self.cross_boro = cross_boro
    self.boro1 = boro1
    self.boro2 = boro2
    self.is_split = is_split
    self.split = split

在此类中调用此方法的方法:

@classmethod
def populate_list(cls, st_list):
    ....
    return cls(list_length, street, district, numrange, adoption, rdclass, length, road_no, has_tfl, tfl_rd,
               cross_boro, boro1, boro2, is_split, split)

调用上述方法C的方法A:

@classmethod
def get_mainlist(cls, streetpart, name_or_num=""):
....
    return cls.populate_list(mainlist)

任何提示!

0 个答案:

没有答案