因此,我是Python的新手,具有一点编程知识。
我刚刚遍历所有类,但是在如何将类与dict结合使用方面并没有发现太多。因此,以为如果有人可以帮助解释这一点,也可能对其他人有所帮助。
我现在正在做的是,我有多个字典,使用defaultdict()
导入,我想创建一个使用这些字典的类。让我举一个例子,以下是我的词典和一些常量:
DEFAULT_MAX = -99
DEFAULT_MIN = 999
DEFAULT_STR = 'DATE'
max_temperature = defaultdict(lambda:DEFAULT_MAX)
max_temp_date = defaultdict(lambda:DEFAULT_MAX)
min_temperature = defaultdict(lambda:DEFAULT_MIN)
max_humidity= defaultdict(lambda:DEFAULT_MAX)
min_humidity= defaultdict(lambda:DEFAULT_MIN)
我还将需要一些方法,以便我的函数从变量中获取数据。另一个例子:
if max_temp > max_temperature[year]:
max_temperature[year] = max_temp
max_temp_date[year] = date
将max_temp
和date
设置为上述默认常量,并通过循环比较并替换为最大值。
我认为使用一个类来创建实例(或一些天真的初学者)会是个好主意。 即使不是,我真的很想学习如何使用类来做到这一点。
真的希望学习。我听说这里有人很好:)
答案 0 :(得分:0)
使用类,请尝试以下操作:
class weather_year:
def __init__(self, year):
self.year = year
self.max_temp = -99
self.min_temp = 999
self.max_temp_date = 'Date'
self.max_humidity = -99
self.min_humidity = 999
def add_weather(self, date,
min_temp = 999,
max_temp = -99,
min_hum, = 999
max_hum = -99):
if self.max_temp < max_temp:
self.max_temp = max_temp
self.date = date
self.min_temp = min(min_temp, self.min_temp)
self.min_hum = min(min_hum, self.min_humidity)
self.max_hum = max(max_hum, self.max_humidity)
请注意,weather_year类具有add_weather方法,可用于添加所有读数。使用:
thisyear = weather_year(2018)
thisyear.add_weather('2018-10-10', min_temp = 42, max_temp=76, min_hum = 75, max_hum = 99)
print(thisyear.date)
2018-10-10
print(thisyear.min_temp)
42