Python: Используйте вложенный дикт для создания класса вложенного обработки данныхPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python: Используйте вложенный дикт для создания класса вложенного обработки данных

Сообщение Anonymous »

В основном случае можно легко сопоставить словарь с параметрами. Ниже показан основной пример. < /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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»