ในโครงการล่าสุดของฉันฉันเจอเป็น จริงใจ เหตุผลที่จะต้องมีพารามิเตอร์ซึ่งเป็นยอมรับ function
กับเป็นค่าปริยาย.
มันดูเหมือนว่าเรื่องนี้ไม่สนใจในคอนเท็กซ์.
def foo(func: Callable[[], None]) -> None:
...
ฉันเริ่มคิดว่าเป็นเพื่อตั้งค่าปริยายเพื่อ lambda: None
. แสดงว่าค่าปริยายคือฟังก์ชันนั้นไม่ยอมรับพารามิเตอร์และกลับมา None
. i.e.
def foo(func: Callable[[], None] = lambda: None) -> None:
...
หลังจากบางคนคิดว่าฉันคิดว่า lambda: ...
จะยังไปที่จุดข้ามเพราะฉันเจอ lambda: None
ต้องดูหน่อยแปลก i.e.
def foo(func: Callable[[], None] = lambda: ...) -> None:
...
คำถามของคุณคือ ที่ของพวกนี้คือกดีขึ้นไหม? ฉันยังเปิดรับคำแนะนำด้านนอกของพวกนี้สองคน
แก้ไข:ใช้ Callable
เพื่อประเภทข้อแนะนำที่พารามิเตอร์. ที่สองตัวอย่างเช่นที่จริงแล้วจะได้ไม่-ไม่มีค่าซึ่งมันไม่จริงสำคัญตั้งแต่อยู่ในคอนเท็กซ์กลับคืนค่าเป็นไม่เคย--อย่างไรก็ตามที่น่าจดจำหรวามขัดแย้งด้วย