में विशिष्ट ऑब्जेक्ट्स की एक सूची है, मुझे वास्तव में पाइथन में डॉकस्ट्रिंग का उपयोग करना पसंद है ताकि परियोजनाओं को एक निश्चित आकार से परे होने पर टाइप पैरामीटर निर्दिष्ट किया जा सके।यह निर्दिष्ट करने के लिए कि पैरामीटर पाइथन डॉकस्ट्रिंग्स
मुझे यह निर्दिष्ट करने के लिए मानक खोजने में परेशानी हो रही है कि पैरामीटर विशिष्ट ऑब्जेक्ट्स की एक सूची है, उदा। हास्केल प्रकारों में मैं [स्ट्रिंग] या [ए] का उपयोग करता हूं।
वर्तमान मानक (PyCharm संपादक के कारण पहचानी):
def stringify(listOfObjects):
"""
:type listOfObjects: list
"""
return ", ".join(map(str, listOfObjects))
क्या मैं पसंद करेंगे:
विकल्प 1
def stringify(listOfObjects):
"""
:type listOfObjects: list<Object>
"""
return ", ".join(map(str, listOfObjects))
विकल्प 2
def stringify(listOfObjects):
"""
:type listOfObjects: [Object]
"""
return ", ".join(map(str, listOfObjects))
मुझे लगता है कि यह एक अच्छा उदाहरण नहीं था - अधिक प्रासंगिक उपयोग केस एक होगा जहां सूची में वस्तुओं को एक विशिष्ट प्रकार का होना चाहिए।
बेहतर उदाहरण
class Food(Object):
def __init__(self, calories):
self.calories = calories
class Apple(Food):
def __init__(self):
super(self, 200)
class Person(Object):
energy = 0
def eat(foods):
"""
:type foods: [Food] # is NOT recognised by editor
"""
for food in foods:
energy += food.calories
तो, तथ्य यह है कि मुझे भूख लगी हो रही है के अलावा अन्य, यह उदाहरण बताता है कि अगर वस्तु के गलत तरह की सूची के साथ कहा जाता है, कोड टूट जाएगा। इसलिए दस्तावेज के महत्व को न केवल एक सूची की आवश्यकता है, बल्कि इसे खाद्य पदार्थों की एक सूची की आवश्यकता है।
संबंधित सवाल How can I tell PyCharm what type a parameter is expected to be? कृपया ध्यान दें कि मैं ऊपर एक से एक अधिक विशिष्ट जवाब के लिए देख रहा हूँ।
क्या आपने पीईपी को पाइथन वेबसाइट पर देखा था? – Jiminion
मुझे इसके लिए कोई नहीं मिला, लेकिन मैंने इसे – Alex
याद किया होगा http://stackoverflow.com/questions/24853923/python-3-annotations-type-hinting-a-list-of-a- के संभावित डुप्लिकेट निर्दिष्ट-प्रकार-पिचर्म (जहां मैंने पायथन 3.5 के 'टाइपिंग' मॉड्यूल के बारे में सीखा)। – Noumenon