带有列表属性的Python对象。当参数传递对象时,List为空

时间:2014-03-12 19:13:21

标签: python list parameters encapsulation

我的班级gcb_ip具有以下属性:

class gcb_ip:
    ip = None
    country_code = None
    score = None
    asn = None
    records = list()

1)我用特定方法填写记录列表。

2)如果我将其作为主代码检查,我可以在对象中看到记录和其余属性。

3)如果将其检查到参数传递的另一个类方法中,我无法在对象内看到记录但其余属性。

我来自C ++,我猜这是一个复制/引用参数传递问题。 ¿发生了什么事?

1 个答案:

答案 0 :(得分:0)

您是否正确定义了init功能,并设置了这些参数?例如

class gcb_ip(object):
    def __init__(self, IP, country_code, score, asn):
        self.IP = IP
        self.country_code = country_code
        self.score = score
        self.asn = asn
        self.records = list()

这相当于在C ++中设置显式构造函数,并初始化成员变量。

然后您可以像预期的那样引用该对象的参数,例如

myIP = someGcbObject.IP