我有一个简单的课程:
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
我不知道这两个班级之间的区别。
答案 0 :(得分:6)
您需要在第一个示例中删除这些行后面的逗号,如下所示:
self.latitude = latitude
self.longitude = longitude
逗号告诉Python创建包含latitude
和longitude
的元组。在第二个对象中,您没有逗号,因此您将float
作为输出。