पायथन वर्ग और फ़ंक्शन परिभाषाओं या प्रवाह नियंत्रण के लिए कोड के ब्लॉक को इंगित करने के लिए कोई ब्रेसिज़ प्रदान नहीं करता है। कोड के ब्लॉक को लाइन इंडेंटेशन द्वारा दर्शाया जाता है, जिसे सख्ती से लागू किया जाता है।
इंडेंटेशन में रिक्त स्थान की संख्या परिवर्तनशील है, लेकिन ब्लॉक के भीतर सभी स्टेटमेंट समान मात्रा में इंडेंट किए जाने चाहिए। उदाहरण के लिए -
if True: print "True" else: print "False"
हालांकि, निम्न ब्लॉक एक त्रुटि उत्पन्न करता है -
if True: print "Answer" print "True" else: print "Answer" print "False"
इस प्रकार, पायथन में समान संख्या में रिक्त स्थान के साथ इंडेंट की गई सभी निरंतर रेखाएं एक ब्लॉक का निर्माण करेंगी। निम्नलिखित उदाहरण में विभिन्न स्टेटमेंट ब्लॉक हैं -
नोट - इस समय लॉजिक को समझने की कोशिश न करें। बस सुनिश्चित करें कि आप विभिन्न ब्लॉकों को समझ गए हैं, भले ही वे ब्रेसिज़ के बिना हों।
#!/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