Подсказки типа возвращаемого значения функции Python с фиксированными клавишами словаря
У меня есть функция, которая возвращает словарь, который всегда имеет одни и те же ключи (отправка по сети и «преобразование в строку» с помощью json). И в основном моя функция выглядит так:
def getTemps(self) -> dict:
"""
get room and cpu temperature in °C as well as humidity in %
"""
# send temperature request to server
msg = {'type':'req', 'reqType':'temps'}
self.send(msg)
res = self.recieve() # get response
return res
и словарь, который вы получаете от этой функции, всегда выглядит примерно так:
{'Room':float, 'CPU':float, 'hum':float}
поэтому мне было интересно, есть ли способ указать тип возвращаемого значения функции, чтобы вы знали, какие ключи есть в словаре:
def getTemps(self) -> Dict['Room':float, 'CPU':float, 'hum':float]
но это не сработало, поскольку это только показало
Я не думаю, что это что-то очень полезное, но что-то, что делает ваш код лучше, а также упрощает использование для кого-то другого. Так что если кто-то знает, возможно ли это и как, буду очень благодарен за ответ!
1 ответ
consider this:
class Message:
def __init__(self,room,cpu,hum):
self.Room = room
self.CPU = cpu
self.hum = hum
and
return Message(room,cpu,hum)
or define a method to convert this to
dict
in the class if necessary.
This may be the only method.
Update: This is neither the only nor the best method, see comments.