构造对象时的单身人士

时间:2013-11-04 15:05:46

标签: python class

我有一个简单的课程:

class Weather_data():
    def __init__(self, latitude=None, longitude=None, date=None):
        self.latitude = latitude,
        self.longitude = longitude,
        self.request_date = date

当我构造一个物体时,我有一个单身记录为纬度或经度:

>>> w2=Weather_data(1.3,1.9,datetime.datetime.now())
>>> w2.latitude
(1.3,)

为什么会这样?

奖金:我还有另一堂课:

class Pricer():

    def __init__(self, realization_date=None, latitude=None, longitude=None, amount_covered=None):
        self.realization_date = realization_date
        self.latitude = latitude
        self.longitude = longitude

当我收缩一个物体时,我得到一个不是元组的浮点数:

>>> p2=Pricer(datetime.datetime.now(),1.3,1.9,100)
>>> p2.latitude
1.3

我不知道这两个班级之间的区别。

1 个答案:

答案 0 :(得分:6)

您需要在第一个示例中删除这些行后面的逗号,如下所示:

self.latitude = latitude
self.longitude = longitude

逗号告诉Python创建包含latitudelongitude的元组。在第二个对象中,您没有逗号,因此您将float作为输出。