अजगर - मूल सिंटैक्स

पायथन भाषा में पर्ल, सी और जावा में कई समानताएं हैं। हालाँकि, भाषाओं के बीच कुछ निश्चित अंतर हैं।

पहला पायथन प्रोग्राम

आइए हम प्रोग्रामिंग के विभिन्न तरीकों में प्रोग्राम निष्पादित करें।

इंटरएक्टिव मोड प्रोग्रामिंग

एक स्क्रिप्ट फ़ाइल को एक पैरामीटर के रूप में पारित किए बिना दुभाषिया को आमंत्रित करना निम्नलिखित संकेत लाता है -

$ python
Python 2.4.3 (#1, Nov 11 2010, 13:34:43)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

पायथन प्रॉम्प्ट पर निम्न पाठ टाइप करें और Enter दबाएं -

>>> print "Hello, Python!"

यदि आप पायथन का नया संस्करण चला रहे हैं, तो आपको कोष्ठक के साथ प्रिंट स्टेटमेंट का उपयोग करना होगा print ("Hello, Python!");। हालांकि अजगर संस्करण 2.4.3 में, यह निम्नलिखित परिणाम पैदा करता है -

Hello, Python!

स्क्रिप्ट मोड प्रोग्रामिंग

स्क्रिप्ट पैरामीटर के साथ दुभाषिया को आमंत्रित करना स्क्रिप्ट का निष्पादन शुरू करता है और स्क्रिप्ट समाप्त होने तक जारी रहता है। जब स्क्रिप्ट समाप्त हो जाती है, तो दुभाषिया सक्रिय नहीं होता है।

आइए हम एक स्क्रिप्ट में एक साधारण पायथन प्रोग्राम लिखते हैं। पायथन फाइलों में विस्तार है.py। निम्नलिखित स्रोत कोड को एक टेस्ट-सी फ़ाइल में टाइप करें -

print "Hello, Python!"

हम मानते हैं कि आपके पास PATH वैरिएबल में Python दुभाषिया सेट है। अब, इस कार्यक्रम को इस प्रकार चलाने की कोशिश करें -

$ python test.py

यह निम्न परिणाम उत्पन्न करता है -

Hello, Python!

आइए हम पायथन स्क्रिप्ट को निष्पादित करने का दूसरा तरीका आजमाते हैं। यहाँ संशोधित test.py फ़ाइल है -

#!/usr/bin/python

print "Hello, Python!"

हम मानते हैं कि आपके पास / usr / bin डायरेक्टरी में Python दुभाषिया उपलब्ध है। अब, इस कार्यक्रम को इस प्रकार चलाने की कोशिश करें -

$ chmod +x test.py     # This is to make file executable
$./test.py

यह निम्न परिणाम उत्पन्न करता है -

Hello, Python!

पायथन पहचानकर्ता

पायथन पहचानकर्ता एक ऐसा नाम है जिसका उपयोग किसी चर, फ़ंक्शन, वर्ग, मॉड्यूल या अन्य वस्तु की पहचान करने के लिए किया जाता है। एक पहचानकर्ता एक अक्षर से शुरू होता है Z या z या एक अंडरस्कोर (_) जिसके बाद शून्य या अधिक अक्षर, अंडरस्कोर और अंक (0 से 9) आते हैं।

पायथन पहचान के भीतर @, $, और% जैसे विराम चिह्न वर्णों की अनुमति नहीं देता है। पायथन एक केस संवेदी प्रोग्रामिंग लैंग्वेज है। इस प्रकार,Manpower तथा manpower पायथन में दो अलग-अलग पहचानकर्ता हैं।

यहाँ पायथन पहचानकर्ताओं के लिए नामकरण परंपराएँ हैं -

  • कक्षा के नाम एक बड़े अक्षर से शुरू होते हैं। अन्य सभी पहचानकर्ता लोअरकेस अक्षर से शुरू होते हैं।

  • एक एकल प्रमुख अंडरस्कोर के साथ एक पहचानकर्ता शुरू करना इंगित करता है कि पहचानकर्ता निजी है।

  • दो प्रमुख अंडरस्कोर के साथ एक पहचानकर्ता शुरू करना एक दृढ़ता से निजी पहचानकर्ता को इंगित करता है।

  • यदि पहचानकर्ता दो अनुगामी अंडरस्कोर के साथ भी समाप्त होता है, तो पहचानकर्ता एक भाषा-परिभाषित विशेष नाम है।

सुरक्षित शब्द

निम्न सूची पायथन कीवर्ड दिखाती है। ये आरक्षित शब्द हैं और आप इन्हें निरंतर या परिवर्तनशील या किसी अन्य पहचानकर्ता के नाम के रूप में उपयोग नहीं कर सकते। सभी पायथन कीवर्ड में केवल निचले अक्षर होते हैं।

तथा कार्यकारी नहीं
ज़ोर आखिरकार या
टूटना के लिये उत्तीर्ण करना
कक्षा से प्रिंट
जारी रखें वैश्विक बढ़ाने
डीईएफ़ अगर वापसी
डेल आयात प्रयत्न
elif में जबकि
अन्य है साथ में
के सिवाय लैम्ब्डा प्राप्ति

रेखाएँ और संकेत

पायथन वर्ग और फ़ंक्शन परिभाषाओं या प्रवाह नियंत्रण के लिए कोड के ब्लॉक को इंगित करने के लिए कोई ब्रेसिज़ प्रदान नहीं करता है। कोड के खंडों को लाइन इंडेंटेशन द्वारा दर्शाया जाता है, जिसे सख्ती से लागू किया जाता है।

इंडेंटेशन में रिक्त स्थान की संख्या परिवर्तनशील है, लेकिन ब्लॉक के भीतर सभी कथनों को समान राशि का इंडेंट किया जाना चाहिए। उदाहरण के लिए -

if True:
   print "True"
else:
   print "False"

हालाँकि, निम्न ब्लॉक एक त्रुटि उत्पन्न करता है -

if True:
print "Answer"
print "True"
else:
print "Answer"
print "False"

इस प्रकार, पायथन में समान संख्या में रिक्त स्थान के साथ सभी निरंतर रेखाएं एक ब्लॉक का निर्माण करेंगी। निम्नलिखित उदाहरण के विभिन्न कथन ब्लॉक हैं -

Note- इस समय तर्क को समझने की कोशिश न करें। बस सुनिश्चित करें कि आपने विभिन्न ब्लॉकों को समझ लिया है, भले ही वे ब्रेसिज़ के बिना हों।

#!/usr/bin/python

import sys

try:
   # open file stream
   file = open(file_name, "w")
except IOError:
   print "There was an error writing to", file_name
   sys.exit()
print "Enter '", file_finish,
print "' When finished"
while file_text != file_finish:
   file_text = raw_input("Enter text: ")
   if file_text == file_finish:
      # close the file
      file.close
      break
   file.write(file_text)
   file.write("\n")
file.close()
file_name = raw_input("Enter filename: ")
if len(file_name) == 0:
   print "Next time please enter something"
   sys.exit()
try:
   file = open(file_name, "r")
except IOError:
   print "There was an error reading file"
   sys.exit()
file_text = file.read()
file.close()
print file_text

मल्टी-लाइन स्टेटमेंट

पाइथन में कथन आम तौर पर एक नई पंक्ति के साथ समाप्त होते हैं। पाइथन, हालांकि, रेखा निरंतरता चरित्र (\) के उपयोग की अनुमति देता है ताकि यह दर्शाया जा सके कि रेखा को जारी रखना चाहिए। उदाहरण के लिए -

total = item_one + \
        item_two + \
        item_three

[], {}, या () कोष्ठक के भीतर निहित विवरणों को पंक्ति निरंतरता चरित्र का उपयोग करने की आवश्यकता नहीं है। उदाहरण के लिए -

days = ['Monday', 'Tuesday', 'Wednesday',
        'Thursday', 'Friday']

पायथन में उद्धरण

पायथन स्ट्रिंग स्ट्रिंग को दर्शाने के लिए सिंगल ('), डबल (") और ट्रिपल (' '' या" "") को स्वीकार करता है, जब तक कि एक ही प्रकार का उद्धरण शुरू होता है और स्ट्रिंग को समाप्त करता है।

कई पंक्तियों में स्ट्रिंग को स्पैन करने के लिए ट्रिपल कोट्स का उपयोग किया जाता है। उदाहरण के लिए, सभी निम्नलिखित कानूनी हैं -

word = 'word'
sentence = "This is a sentence."
paragraph = """This is a paragraph. It is
made up of multiple lines and sentences."""

पायथन में टिप्पणियाँ

एक हैश चिन्ह (#) जो एक स्ट्रिंग शाब्दिक के अंदर नहीं है, एक टिप्पणी शुरू करता है। फिजिकल लाइन के # और अंत तक सभी वर्ण टिप्पणी का हिस्सा हैं और पायथन दुभाषिया उन्हें अनदेखा करते हैं।

#!/usr/bin/python

# First comment
print "Hello, Python!" # second comment

यह निम्न परिणाम उत्पन्न करता है -

Hello, Python!

आप एक बयान या अभिव्यक्ति के बाद उसी लाइन पर एक टिप्पणी टाइप कर सकते हैं -

name = "Madisetti" # This is again comment

आप कई पंक्तियों को निम्नानुसार टिप्पणी कर सकते हैं -

# This is a comment.
# This is a comment, too.
# This is a comment, too.
# I said that already.

ट्रिपल-उद्धृत स्ट्रिंग के बाद भी पायथन दुभाषिया द्वारा अनदेखा किया जाता है और इसे बहुस्तरीय टिप्पणियों के रूप में इस्तेमाल किया जा सकता है:

'''
This is a multiline
comment.
'''

खाली लाइनों का उपयोग करना

एक लाइन जिसमें केवल व्हाट्सएप है, संभवतः एक टिप्पणी के साथ, एक रिक्त रेखा के रूप में जाना जाता है और पायथन पूरी तरह से इसे अनदेखा करता है।

एक इंटरैक्टिव दुभाषिया सत्र में, आपको एक बहुस्तरीय विवरण समाप्त करने के लिए एक खाली भौतिक रेखा दर्ज करनी चाहिए।

उपयोगकर्ता की प्रतीक्षा कर रहा है

कार्यक्रम की निम्न पंक्ति शीघ्र प्रदर्शित करती है, कथन "बाहर निकलने के लिए Enter कुंजी दबाएं", और उपयोगकर्ता द्वारा इसे लेने के लिए प्रतीक्षा करता है -

#!/usr/bin/python

raw_input("\n\nPress the enter key to exit.")

यहां, वास्तविक लाइन प्रदर्शित करने से पहले दो नई लाइनें बनाने के लिए "\ n \ n" का उपयोग किया जाता है। एक बार जब उपयोगकर्ता कुंजी दबाता है, तो कार्यक्रम समाप्त होता है। कंसोल विंडो को खुला रखने के लिए यह एक अच्छी ट्रिक है जब तक कि उपयोगकर्ता किसी एप्लिकेशन के साथ नहीं किया जाता है।

एक लाइन पर कई कथन

अर्धविराम (;) दिए गए सिंगल लाइन पर कई स्टेटमेंट देता है कि न तो स्टेटमेंट एक नया कोड ब्लॉक शुरू करता है। यहाँ अर्धविराम का उपयोग कर एक नमूना लिया गया है -

import sys; x = 'foo'; sys.stdout.write(x + '\n')

सूट के रूप में कई बयान समूह

व्यक्तिगत बयानों का एक समूह, जो एक एकल कोड ब्लॉक बनाते हैं, कहलाते हैं suitesअजगर में। कंपाउंड या जटिल कथन, जैसे कि, जबकि, डीआईएफ, और क्लास को हेडर लाइन और एक सूट की आवश्यकता होती है।

हेडर लाइन्स स्टेटमेंट (कीवर्ड के साथ) शुरू करते हैं और कॉलन (:) के साथ समाप्त होते हैं और उसके बाद एक या एक से अधिक लाइनें होती हैं जो सूट बनाती हैं। उदाहरण के लिए -

if expression : 
   suite
elif expression : 
   suite 
else : 
   suite

कमांड लाइन तर्क

उन्हें कैसे चलाया जाना चाहिए, इसके बारे में कुछ बुनियादी जानकारी प्रदान करने के लिए कई कार्यक्रम चलाए जा सकते हैं। अजगर आपको -h के साथ ऐसा करने में सक्षम बनाता है -

$ python -h
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options and arguments (and corresponding environment variables):
-c cmd : program passed in as string (terminates option list)
-d     : debug output from parser (also PYTHONDEBUG=x)
-E     : ignore environment variables (such as PYTHONPATH)
-h     : print this help message and exit

[ etc. ]

आप अपनी स्क्रिप्ट को इस तरह से भी प्रोग्राम कर सकते हैं कि उसे विभिन्न विकल्पों को स्वीकार करना चाहिए। कमांड लाइन तर्क एक उन्नत विषय है और एक बार बाद में थोड़ा अध्ययन किया जाना चाहिए जब आप पायथन अवधारणाओं के बाकी हिस्सों से गुजर चुके हैं।