पायथन मा, पहिचानकर्ता (चर, प्रकार्यहरु, वर्गहरु, आदि को नाम) नियम अनुसार परिभाषित गर्न को लागी आवश्यक छ। नामहरु जो नियमहरु को पालन गर्दैनन् पहिचानकर्ता को रूप मा प्रयोग गर्न सकिदैन र एक त्रुटि मा परिणाम हुनेछ।
निम्न जानकारी यहाँ प्रदान गरीएको छ।
- क्यारेक्टरहरु र पहिचानकर्ताहरु मा प्रयोग गर्न सकिदैन (नाम)
- ASCII वर्ण
- युनिकोड वर्ण
- सामान्यीकरण (जस्तै गणित मा)
- जाँच गर्नुहोस् यदि स्ट्रिंग एक मान्य पहिचानकर्ता हो:
isidentifier() - शब्दहरू जुन पहिचानकर्ता (नाम) (आरक्षित शब्द) को रूप मा प्रयोग गर्न सकिदैन
- शब्दहरु कि पहिचानकर्ता (नाम) को रूप मा प्रयोग गर्नु हुदैन
- PEP8 को लागी नामकरण सम्मेलन
निम्न विवरण पायथन 3 मा दिइएको छ, र अजगर 2 मा फरक हुन सक्छ।
क्यारेक्टरहरु र पहिचानकर्ताहरु मा प्रयोग गर्न सकिदैन (नाम)
पहिचानकर्ताहरु (नामहरु) को रूप मा र प्रयोग गर्न सकिदैन कि अक्षरहरु लाई संकेत गर्दछ।
यस बाहेक, यद्यपि त्यहाँ धेरै चीजहरु को ’bout मा लेख्न को लागी छन्, मूलतः तपाइँ सबै लाई याद गर्न को लागी निम्न छ।
- अपरकेस र सानो अक्षर, संख्या, र अंडरस्कोर को उपयोग गर्नुहोस्।
- पहिलो (पहिलो) अक्षर संख्या हुन सक्दैन।
ASCII वर्ण
ASCII क्यारेक्टरहरू जसलाई पहिचानकर्ता (नाम) को रूपमा प्रयोग गर्न सकिन्छ अपरकेस र लोअरकेस वर्णमाला (A ~ Z, a ~ z), संख्या (0 ~ 9), र अंडरस्कोर (_) हुन्। वर्णमाला केस-संवेदनशील छ।
AbcDef_123 = 100
print(AbcDef_123)
# 100
अंडरस्कोर बाहेक अन्य प्रतीकहरु प्रयोग गर्न सकिदैन।
# AbcDef-123 = 100
# SyntaxError: can't assign to operator
साथै, संख्या शुरुवात (पहिलो अक्षर) मा प्रयोग गर्न सकिँदैन।
# 1_abc = 100
# SyntaxError: invalid token
Underscores पनि शुरुआत मा प्रयोग गर्न सकिन्छ।
_abc = 100
print(_abc)
# 100
जे होस्, ध्यान दिनुहोस् कि सुरु मा एक अंडरस्कोर एक विशेष अर्थ हुन सक्छ।
युनिकोड वर्ण
पायथन 3 देखि, युनिकोड वर्णहरु पनि प्रयोग गर्न सकिन्छ।
変数1 = 100
print(変数1)
# 100
सबै युनिकोड वर्ण प्रयोग गर्न सकिदैन, र युनिकोड कोटि मा निर्भर गर्दछ, केहि प्रयोग गर्न सकिदैन। उदाहरण को लागी, चिह्नहरु जस्तै विराम चिह्न र Pictograms प्रयोग गर्न सकिदैन।
# 変数。 = 100
# SyntaxError: invalid character in identifier
# ☺ = 100
# SyntaxError: invalid character in identifier
युनिकोड श्रेणी कोडहरु को लागी प्रयोग गर्न सकिने आधिकारिक दस्तावेज हेर्नुहोस्।
धेरै मामिलाहरुमा, त्यहाँ चीनी वर्ण, आदि को उपयोग गर्न को लागी कुनै फाइदा छैन, युनिकोड क्यारेक्टरहरु पनि प्रयोग गर्न सकिन्छ (त्रुटि बिना)।
सामान्यीकरण (जस्तै गणित मा)
युनिकोड वर्ण सामान्यीकृत रूप NFKC व्याख्या को लागी रूपान्तरण गरीन्छ। उदाहरण को लागी, पूर्ण चौडाई अक्षरहरु आधा चौडाइ वर्णमाला (ASCII वर्ण) मा रूपान्तरण गरीन्छ।
ध्यान दिनुहोस् कि यदि स्रोत कोड एक फरक प्रदर्शन देखाउँछ, यो उही वस्तु मानिन्छ र अधिलेखन गरिनेछ।
ABC = 100
ABC = -100
print(ABC)
# -100
print(ABC)
# -100
print(ABC is ABC)
# True
जाँच गर्नुहोस् यदि स्ट्रिंग एक मान्य पहचानकर्ता हो: isidentifier ()
हो वा होइन एक स्ट्रि valid मान्य छ एक पहिचानकर्ता को रूप मा स्ट्रिंग विधि isidentifier () संग जाँच गर्न सकिन्छ।
यो सत्य फिर्ता आउँछ यदि यो एक पहिचानकर्ता को रूप मा मान्य छ, र गलत यदि यो अमान्य छ।
print('AbcDef_123'.isidentifier())
# True
print('AbcDef-123'.isidentifier())
# False
print('変数1'.isidentifier())
# True
print('☺'.isidentifier())
# False
शब्दहरू जुन पहिचानकर्ता (नाम) (आरक्षित शब्द) को रूप मा प्रयोग गर्न सकिदैन
त्यहाँ केहि शब्दहरु (आरक्षित शब्दहरु) छन् कि पहिचानकर्ताहरु को रूप मा प्रयोग गर्न सकिदैन भले ही ती पहिचानकर्ता (नाम) को रूप मा मान्य तार हो।
चूंकि एक आरक्षित शब्द एक पहिचानकर्ता को रूप मा एक मान्य स्ट्रि is हो, isidentifier () सही फर्काउँछ, तर एक त्रुटि उत्पन्न हुन्छ यदि यो एक पहिचानकर्ता को रूप मा प्रयोग गरीन्छ।
print('None'.isidentifier())
# True
# None = 100
# SyntaxError: can't assign to keyword
आरक्षित शब्दहरु को एक सूची प्राप्त गर्न को लागी र एक स्ट्रि string आरक्षित शब्द हो कि जाँच गर्न को लागी, मानक पुस्तकालय को कीवर्ड मोड्युल को उपयोग गर्नुहोस्।
शब्दहरु कि पहिचानकर्ता (नाम) को रूप मा प्रयोग गर्नु हुदैन
पाइथनको बिल्ट-इन फंक्शन्स को नाम, उदाहरण को लागी, पहिचानकर्ता को रूप मा प्रयोग गर्न सकिन्छ, तेसैले तपाइँ उनीहरुलाई नयाँ मूल्यहरु लाई चर को रूप मा असाइन गर्न सक्नुहुन्छ।
उदाहरण को लागी, len () एक अंतर्निहित प्रकार्य हो कि एक सूची मा तत्वहरु को संख्या वा एक तार मा अक्षरहरु को संख्या फर्काउँछ।
print(len)
# <built-in function len>
print(len('abc'))
# 3
यदि तपाइँ यो नाम लेन को लागी एक नयाँ मूल्य असाइन गर्नुहुन्छ, मूल प्रकार्य अधिलेखन र बेकार बन्नेछ। ध्यान दिनुहोस् कि कुनै त्रुटि वा चेतावनी एक नयाँ मान असाइन गर्दा मुद्रित गरिनेछ।
print(len('abc'))
# 3
len = 100
print(len)
# 100
# print(len('abc'))
# TypeError: 'int' object is not callable
अर्को साधारण गल्ती सूची = [0, 1, 2] को उपयोग गर्न को लागी हो, जसले यो सूची () को उपयोग गर्न को लागी असंभव बनाउँछ। होस् गर।
PEP8 को लागी नामकरण सम्मेलन
PEP पाइथन संवर्धन प्रस्ताव को लागी खडा छ, एक दस्तावेज हो कि नयाँ सुविधाहरु र अजगर को अन्य पहलुहरु को वर्णन गर्दछ।
PEP stands for Python Enhancement Proposal. A PEP is a design document providing information to the Python community, or describing a new feature for Python or its processes or environment.
PEP 1 — PEP Purpose and Guidelines | Python.org
PEP8 आठौं एक हो, र यो “पाइथन कोड को लागी शैली गाइड” को वर्णन गर्दछ, त्यो हो, पायथन को लागी शैली गाइड।
नामकरण सम्मेलनहरु पनि उल्लेख छन्।
अधिक जानकारी को लागी माथिको लिंक हेर्नुहोस्, तर उदाहरण को लागी, निम्न लेखन शैली सिफारिश गरीएको छ।
- मोड्युल
lowercase_underscore- लोअरकेस + अंडरस्कोर
- प्याकेज
lowercase- सबै कम मामला पत्र
- कक्षाहरु, अपवादहरु
CapitalizedWords(CamelCase)- कुनै शब्द को पहिलो अक्षर को पूंजीकरण, कुनै अंडरस्कोर
- प्रकार्य, चर, र विधिहरु
lowercase_underscore- लोअरकेस + अंडरस्कोर
- निरन्तर
ALL_CAPS- क्यापिटल अक्षर + अंडरस्कोर
यद्यपि, यदि तपाईंको संगठनको आफ्नै नामकरण प्रबन्धहरू छैनन् भने, यसलाई PEP8 पालना गर्न सिफारिस गरिन्छ।


