px.Results
px.Results는 계산이 반환할 결과마다 분명한 이름을 붙입니다.
무엇을 만드나요?
@px.function 또는 @px.component target의 result schema를 만듭니다. field가 하나여도 이름을 붙이므로 Studio, Report와 AI가 결과 순서를 추측하지 않습니다.
Studio에서는 어디에 보이나요?
각 field가 Node의 독립된 result port와 Typed ports 항목으로 보입니다.
문법
python
class ResultsName(px.Results):
result_name: ResultType최소 예제
python
from pipelinexlab import px
class CheckResults(px.Results):
utilization: float
passed: bool
@px.function(
key="check_resistance",
version="1.0.0",
description="Checks demand against resistance.",
)
def check(demand: float, resistance: float) -> CheckResults:
utilization = demand / resistance
return CheckResults(
utilization=utilization,
passed=utilization <= 1.0,
)매개변수
px.Results 자체에 작성하는 매개변수는 없습니다. 각 field의 이름과 Python annotation이 result key와 타입을 정하고, 설명과 단위는 field 기본값 자리의 px.result(...) marker가 더합니다.
반환값과 handle
함수는 ResultsName(...) instance를 반환합니다. Node를 배치한 뒤 각 field는 node.results.<field_name> result handle이 됩니다.
규칙과 진단
- Function과 Component target은 tuple이나 이름 없는 list 대신
px.Resultssubclass를 반환합니다. - field 이름이 result port의 key입니다.
output0이나 첫 번째 결과 추측을 사용하지 않습니다. - 반환 annotation과 실제 반환 객체가 다르거나 field가 빠지면 validation 또는 Run 진단으로 표시합니다.
- Flow 밖으로 공개할 결과는
flow.result(...)로 선택합니다.