પાયથોનમાં, ઓળખકર્તાઓ (ચલોના નામ, કાર્યો, વર્ગો, વગેરે) ને નિયમો અનુસાર વ્યાખ્યાયિત કરવાની જરૂર છે. નિયમોનું પાલન ન કરતા નામોનો ઓળખકર્તા તરીકે ઉપયોગ કરી શકાતો નથી અને તે ભૂલમાં પરિણમશે.
નીચેની માહિતી અહીં આપવામાં આવી છે.
- ઓળખકર્તાઓ (નામો) માં ઉપયોગ કરી શકાય અને ન કરી શકાય તેવા અક્ષરો
- 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
જો કે, નોંધ કરો કે શરૂઆતમાં અન્ડરસ્કોરનો વિશેષ અર્થ હોઈ શકે છે.
યુનિકોડ અક્ષર
Python 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 એન્હાન્સમેન્ટ પ્રપોઝલ માટે વપરાય છે, એક દસ્તાવેજ જે પાયથોનના નવા લક્ષણો અને અન્ય પાસાઓનું વર્ણન કરે છે.
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 ને અનુસરવાની ભલામણ કરવામાં આવે છે.