构造对象时的单例

2024-06-09 16:46:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一节简单的课:

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

我不知道那两门课的区别。你知道吗


Tags: 对象selfnonedatadatetimedateinitdef
1条回答
网友
1楼 · 发布于 2024-06-09 16:46:12

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

self.latitude = latitude
self.longitude = longitude

逗号告诉Python创建包含latitudelongitude的元组。在第二个对象中,没有逗号,因此得到float作为输出。你知道吗

相关问题 更多 >