В основном случае можно легко сопоставить словарь с параметрами. Ниже показан основной пример. < /P>
def func1(x: int, y: int):
return x+y
input = {
"x": 1,
"y": 2,
}
## This Works
sum = func1(**input)
# sum = 3
< /code>
Python предоставляет какие -либо другие типы ярлыков, которые позволили бы этот тип поведения для вложенных классов? < /p>
from dataclasses import dataclass
@dataclass
class X:
x: int
@dataclass
class Y:
y: int
def func2(x: X, y: Y):
return x.x + y.y
input_2 = {
"X": {
"x": 1,
},
"Y": {
"y": 1,
},
}
sum = func2(**input_2)
# TypeError: func2() got an unexpected keyword argument 'X'
< /code>
Я пробовал другие подходы. Это пример того, что работает, но не очень общее. < /P>
sum = func2(X(input_2[X][x]),Y(input_2[Y][y])
< /code>
также не удалось с Pydantic < /p>
from pydantic import BaseModel
class X(BaseModel):
x: int
class Y(BaseModel):
y: int
def func2(x: X, y: Y):
return x.x + y.y
input_2 = {
"X": {
"x": 1,
},
"Y": {
"y": 1,
},
}
sum = func2(**input_2)
Подробнее здесь: https://stackoverflow.com/questions/713 ... -dataclass
Python: Используйте вложенный дикт для создания класса вложенного обработки данных ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Рекурсивная функция для создания и заполнения вложенного вложенного словаря
Anonymous » » в форуме C# - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Рекурсивная функция для создания и заполнения вложенного вложенного словаря
Anonymous » » в форуме C# - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Рекурсивная функция для создания и заполнения вложенного вложенного словаря
Anonymous » » в форуме C# - 0 Ответы
- 3 Просмотры
-
Последнее сообщение Anonymous
-