पायथनमध्ये, आयडेंटिफायर्स (व्हेरिएबल्सची नावे, फंक्शन्स, क्लासेस इ.) नियमांनुसार परिभाषित करणे आवश्यक आहे. नियमांचे पालन न करणारी नावे अभिज्ञापक म्हणून वापरली जाऊ शकत नाहीत आणि परिणामी त्रुटी येईल.
खालील माहिती येथे दिली आहे.
- अभिज्ञापक (नावे) मध्ये वापरले जाऊ शकतात आणि वापरले जाऊ शकत नाहीत अशी वर्ण
- ASCII वर्ण
- युनिकोड वर्ण
- सामान्यीकरण (उदा. गणितात)
- स्ट्रिंग वैध अभिज्ञापक आहे का ते तपासा:
isidentifier()
- अभिज्ञापक म्हणून वापरले जाऊ शकत नाहीत असे शब्द (नावे) (आरक्षित शब्द)
- अभिज्ञापक म्हणून वापरले जाऊ नये असे शब्द (नावे)
- PEP8 साठी नामकरण परंपरा
खालील वर्णन Python 3 मध्ये दिले आहे आणि Python 2 मध्ये वेगळे असू शकते.
अभिज्ञापक (नावे) मध्ये वापरले जाऊ शकतात आणि वापरले जाऊ शकत नाहीत अशी वर्ण
अभिज्ञापक (नावे) म्हणून वापरता येणारे आणि वापरले जाऊ शकत नाहीत असे वर्ण सूचित करते.
याव्यतिरिक्त, लिहिण्यासारख्या अनेक गोष्टी असल्या तरी, मुळात तुम्हाला खालील गोष्टी लक्षात ठेवणे आवश्यक आहे.
- अप्परकेस आणि लोअरकेस अक्षरे, संख्या आणि अंडरस्कोअर वापरा.
- पहिले (पहिले) अक्षर संख्या असू शकत नाही.
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
अंडरस्कोअर देखील सुरुवातीला वापरले जाऊ शकतात.
_abc = 100
print(_abc)
# 100
तथापि, लक्षात घ्या की सुरुवातीला अंडरस्कोरचा विशेष अर्थ असू शकतो.
युनिकोड वर्ण
पायथन 3 पासून, युनिकोड अक्षरे देखील वापरली जाऊ शकतात.
変数1 = 100
print(変数1)
# 100
सर्व युनिकोड वर्ण वापरले जाऊ शकत नाहीत आणि युनिकोड श्रेणीवर अवलंबून, काही वापरले जाऊ शकत नाहीत. उदाहरणार्थ, विरामचिन्हे आणि पिक्टोग्राम यासारखी चिन्हे वापरली जाऊ शकत नाहीत.
# 変数。 = 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()
आयडेंटिफायर म्हणून स्ट्रिंग वैध आहे की नाही हे स्ट्रिंग पद्धती isidentifier() वापरून तपासले जाऊ शकते.
आयडेंटिफायर म्हणून वैध असल्यास ते सत्य आणि अवैध असल्यास असत्य दर्शवते.
print('AbcDef_123'.isidentifier())
# True
print('AbcDef-123'.isidentifier())
# False
print('変数1'.isidentifier())
# True
print('☺'.isidentifier())
# False
अभिज्ञापक म्हणून वापरले जाऊ शकत नाहीत असे शब्द (नावे) (आरक्षित शब्द)
काही शब्द (आरक्षित शब्द) आहेत जे ओळखकर्ता (नावे) म्हणून वैध स्ट्रिंग असले तरीही ते ओळखकर्ता म्हणून वापरले जाऊ शकत नाहीत.
राखीव शब्द ओळखकर्ता म्हणून वैध स्ट्रिंग असल्याने, isidentifier() सत्य परत करतो, परंतु तो अभिज्ञापक म्हणून वापरल्यास त्रुटी येते.
print('None'.isidentifier())
# True
# None = 100
# SyntaxError: can't assign to keyword
आरक्षित शब्दांची यादी मिळवण्यासाठी आणि स्ट्रिंग हा आरक्षित शब्द आहे का ते तपासण्यासाठी, मानक लायब्ररीचे कीवर्ड मॉड्यूल वापरा.
अभिज्ञापक म्हणून वापरले जाऊ नये असे शब्द (नावे)
पायथनच्या अंगभूत फंक्शन्सची नावे, उदाहरणार्थ, आयडेंटिफायर म्हणून वापरली जाऊ शकतात, ज्यामुळे तुम्ही त्यांना व्हेरिएबल्स म्हणून नवीन मूल्ये नियुक्त करू शकता.
उदाहरणार्थ, 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
दुसरी सामान्य चूक म्हणजे list = [0, 1, 2] वापरणे, ज्यामुळे list() वापरणे अशक्य होते. काळजी घ्या.
PEP8 साठी नामकरण परंपरा
PEP म्हणजे Python Enhancement Proposal, एक दस्तऐवज जो Python च्या नवीन वैशिष्ट्यांचे आणि इतर पैलूंचे वर्णन करतो.
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 आठवा आहे, आणि तो “Python Code साठी स्टाईल गाइड” चे वर्णन करतो, म्हणजेच Python साठी शैली मार्गदर्शक.
नामकरण पद्धतींचाही उल्लेख आहे.
अधिक तपशीलांसाठी वरील लिंक पहा, परंतु उदाहरणार्थ, खालील लेखन शैलीची शिफारस केली आहे.
- मॉड्यूल
lowercase_underscore
- लोअरकेस + अंडरस्कोर
- पॅकेज
lowercase
- सर्व लहान अक्षरे
- वर्ग, अपवाद
CapitalizedWords
(CamelCase
)- शब्दाचे पहिले अक्षर कॅपिटल करा, अंडरस्कोर नाही
- कार्ये, चल आणि पद्धती
lowercase_underscore
- लोअरकेस + अंडरस्कोर
- स्थिर
ALL_CAPS
- कॅपिटल अक्षरे + अंडरस्कोर
तथापि, तुमच्या संस्थेची स्वतःची नामकरण परंपरा नसल्यास, PEP8 चे अनुसरण करण्याची शिफारस केली जाते.