सामान्य नियम है: ऐसे नाम हैं जो लिया जाता है (उदाहरण के लिए type
, file
, int
, आदि) है कि क्या वे एक "सुरक्षित" कीवर्ड सूची में नहीं कर रहे हैं या की परवाह किए बिना (अजगर यह अनुमति देता है के बाद से, यह नहीं है का उपयोग नहीं करते वास्तव में "आरक्षित")। जब आपको वास्तव में वास्तविक वस्तु का उपयोग करने की ज़रूरत होती है तो बिना किसी परेशानी से बचने के लिए यह मुख्य रूप से महत्वपूर्ण है (यह ध्यान दिए बिना कि आप इसे स्थानीय रूप से ओवरराइड करते हैं)।
यदि आप वास्तव में उन नामों में से किसी एक का उपयोग करना चाहते हैं, तो अंत में _
संलग्न करें (उदा। type_
)।
आपके मामले में, जब से तुम एक वर्ग विशेषता के रूप में type
निर्दिष्ट कर रहे हैं, यह सुरक्षित विचार किया जाना चाहिए, क्योंकि यह केवल अपने वर्ग (self.type
या SomeProfile.type
) के माध्यम से पहुँचा जा सकता है।
संभावित डुप्लिकेट [क्या एक अंतर्निहित फ़ंक्शन नाम का उपयोग विशेषता या विधि पहचानकर्ता के रूप में करना गलत है?] (Http://stackoverflow.com/questions/9109333/is-it-bad-practice-to- उपयोग-ए-बिल्ट-इन-फ़ंक्शन-नाम-ए-एट्रिब्यूट-या-विधि-विचार) –
क्यों न केवल '_type' का उपयोग करें? –
@ पैड्राइक कनिंघम क्योंकि अग्रणी अंडरस्कोर का उपयोग निजी वर्ग-स्तर या मॉड्यूल-स्तर के सदस्य नामों के लिए किया जाता है (पीईपी-0008 के अनुसार)। आरक्षित नामों को हल करने के लिए, _trailing_ underscore का उपयोग करने की अनुशंसा की जाती है। –