본문으로 건너뛰기

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.Results subclass를 반환합니다.
  • field 이름이 result port의 key입니다. output0이나 첫 번째 결과 추측을 사용하지 않습니다.
  • 반환 annotation과 실제 반환 객체가 다르거나 field가 빠지면 validation 또는 Run 진단으로 표시합니다.
  • Flow 밖으로 공개할 결과는 flow.result(...)로 선택합니다.

다음