अगर मेरे पास इस तरह का कोई कार्य है:
def foo(name, opts={}):
pass
और मैं मापदंडों में टाइप संकेत जोड़ना चाहता हूं, मैं यह कैसे करूं? जिस तरह से मैंने ग्रहण किया वह मुझे एक वाक्यविन्यास त्रुटि देता है:
def foo(name: str, opts={}: dict) -> str:
pass
निम्नलिखित में सिंटैक्स त्रुटि नहीं है, लेकिन यह इस मामले को संभालने के लिए सहज तरीके की तरह प्रतीत नहीं होता है:
def foo(name: str, opts: dict={}) -> str:
pass
मुझे typing
प्रलेखन या Google खोज में कुछ भी नहीं मिल रहा है ।
संपादित करें: मुझे नहीं पता था कि पायथन में डिफ़ॉल्ट तर्क कैसे काम करते हैं, लेकिन इस सवाल के लिए, मैं ऊपर दिए गए उदाहरणों को रखूंगा। सामान्य तौर पर यह निम्न करना बेहतर होता है:
def foo(name: str, opts: dict=None) -> str:
if not opts:
opts={}
pass
scala
भाषा भी करती है।