pass and Loop else Statement in Python

pass and Loop else Statement – Python का pass Statement वास्‍तव में कुछ भी नहीं करता। ये केवल एक Empty Statement Placeholder को ही Represent करता है। इसे No-Operation Placeholder भी कह सकते हैं जिसे तब Specify किया जाता है, जब हमारे पास Specify करने के लिए कुछ भी Useful नहीं होता। सामान्‍यत: इसका प्रयोग तब उपयोगी होता है, जब हम किसी Compound Statement की Empty Body को Represent करना चाहते हैं।

उदाहरण के लिए यदि हमें एक Infinite Loop Create करना हो, तो इस pass Statement को निम्‍नानुसार Use कर सकते हैं-

[code]
while True:
    pass
#Type Ctrl-C to Stop.
[/code]

चूंकि इस Code में while की Body एक Empty Statement है, इसलिए Python एक Infinite Loop में चला जाता है, क्‍योंकि उसके पास TestCondition True होने की स्थिति में करने के लिए कुछ भी नहीं होता। किसी while या for Statement में pass ठीक उसी तरह से होता है, जिस तरह से किसी Object में None होता है।

अक्‍सर इस pass Statement का प्रयोग तब किया जाता है, जब Program की Working को तो तुरन्‍त Test करना होता है लेकिन उस Working Situation में जिस Code को Run होना है, उसे जरूरत के अनुसार बाद में लिखना होता है। क्‍योंकि हम किसी भी Statement Body को Empty नहीं छोड़ सकते। हमें Statement की Body में किसी न किसी तरह का Code तो लिखना जरूरी होता ही है लेकिन यदि हम Statement Body में pass लिख दें, तो उस स्थिति में Statement Body में किसी Useful Code को लिखना जरूरी नहीं रह जात। जैसे-

[code]
FileName: passStatement.py
print("Use of Pass Statement")
def wouldCodeInFuture1():
    pass
def wouldCodeInFuture2():
    ...
def wouldCodeInFuture3(): ...
print("Program Running Fine without any Useful Code in Body")

Output
Use of Pass Statement
Program Running Fine without any Useful Code in Body
[/code]

जिस तरह से हम pass Specify करते हैं, उसी तरह से हम Statement Body में pass के स्‍थान पर Triple Dots यानी Ellipses का भी प्रयोग कर सकते हैं और Ellipses का प्रयोग हम Statement की Header Line में भी कर सकते हैं, जैसाकि उपरोक्‍त Example में किया गया है।

else Block एक उपयोगी Statement Loop Block होता है जो उस स्थिति में Execute होता है, जब while Loop बिना break Statement के Encounter हुए ही while Statement Block से Exit हो जाता है। इस प्रकार से while Loop का एक Generic Syntax देखें तो वह निम्‍नानुसार होता है-

[code]
while TestCondition1:
    statement 1
    statement 2
    ...
    statement n

    if TestCondition2:
        break #Exit Loop, Skip else Part of Loop if specified
    if TestCondition3:
        continue #Goes to Top of Loop now, to TestCondition1
else:
    #Runs if Program Control didn't Hit a 'break'
    statement 1
    statement 2
    ...
    statement n
[/code]

break व continue Statements while या for Loop की Body में कभी भी Appear हो सकते हैं लेकिन अक्‍सर इन्‍हें किसी if Statement Block की किसी TestCondition के साथ Specify किया जाता है, ताकि ये किसी Specific TestCondition के Satisfy होने की स्थिति में ही Execute हों।

[code]
FileName: elseLoopStatement.py
choice = 'Y'
while choice == 'Y':
    y = int(input("Enter Number: "))
    x = y // 2
    while x > 1:
        if y % x == 0: #Remainder
            print(y, 'is not Prime Number. It can divide by', x)
            break #Skip else
        x -= 1
    else: # Normal exit
        print(y, 'is Prime Number.')
    choice = input("\nDo you wish to continue... [Y/N]: ").capitalize()

Output
Enter Number: 3
3 is Prime Number.
Do you wish to continue... [Y/N]: y
Enter Number: 4
4 is not Prime Number. It can divide by 2
Do you wish to continue... [Y/N]: y
Enter Number: 5
5 is Prime Number.
Do you wish to continue... [Y/N]: n
[/code]

जब हम इस Example Program को Run करते हैं, तो Program Control सबसे पहले एक Infinite while Loop में Entry करता है और User से एक Number Input करने के लिए कहता है। User जो भी Number Input करता है, उसे Integer में Translate करके y नाम के Variable में Store कर लिया जाता है।

फिर अगले Statement में इस y में Stored Value में 2 का भाग देकर भागफल को x नाम के Variable में Store कर लिया जाता है और अगले Statement में while Loop के TestCondition में इस बात को Test करवाया जाता है कि x का मान 1 से बड़ा है या नहीं क्‍योंकि यदि x का मान 1 है, तो आगे कोई Calculation करने की जरूरत नहीं है क्‍योंकि मान 1 स्‍वयं ही एक Prime Number है, जिसमें स्‍वयं 1 के अलावा और किसी संख्‍या का भाग पूरा-पूरा नहीं जाता।

परिणामस्‍वरूप Program Control सीधे ही else Loop Block में चला जाता है और Output के रूप में Prime Number को Print कर देता है क्‍योंकि Program Control इस while Loop से break Statement द्वारा Exit नहीं हो रहा है।

लेकिन यदि User Input Value के रूप में 4 Input कर देता है, तो x = y // 2 के Execution से x में 2 Store हो जाता है क्‍योंकि 4 में 2 का भाग 2 बार पूरा-पूरा जाता है। परिणामस्‍वरूप Program Control आगे बढ़कर while Loop पर जाता है, जहां TestCondition के रूप में x > 2 True Return करता है, और Program Control, while Loop के Statement Block में Entry कर लेता है।

while Loop में Entry करते ही Program Control को एक if Statement मिलता है, जहां TestCondition के रूप में y % x == 0 True Return करता है और Program Control, इस if Statement Block में Specified print() Statement को Execute करता है। इस print() Statement के Just अगले Statement के रूप में हमने break Statement Specify किया है, इसलिए जैसे ही ये break Execute होता है, Program Control तुरन्‍त while Loop से Exit हो जाता है।

इस प्रकार से जब हम while … else Loop Use करते हैं, तब Program Control केवल उसी स्थिति में else Block पर जाता है, जबकि while Loop False हो जाए। यदि Program Control, while Loop के किसी break Statement से Exit होता है, तो उस स्थिति में else Block का Execution कभी भी नहीं होता।

Python in Hindi - BccFalna.comये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Python in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।

Python in Hindi | Page: 602 | Format: PDF

BUY NOW GET DEMO REVIEWS