পাস স্টেটমেন্ট কীভাবে ব্যবহার করবেন?


392

আমি পাইথন শেখার প্রক্রিয়াধীন এবং আমি passবিবৃতিটি বিভাগে পৌঁছেছি । আমি যে গাইডটি ব্যবহার করছি তা এটিকে একটি Nullবিবৃতি হিসাবে সংজ্ঞায়িত করে যা সাধারণত স্থানধারক হিসাবে ব্যবহৃত হয়।

আমি এখনও পুরোপুরি বুঝতে পারি না যদিও এর অর্থ কী। কেউ আমাকে কী এমন সরল / বেসিক পরিস্থিতি দেখাতে পারেন যেখানে passবিবৃতিটি ব্যবহৃত হবে এবং কেন এটির প্রয়োজন?


4
আমার বাস্তব জীবনে এটি করার দরকার ছিল না, তবে আমি মনে passকরতে পারি যে আপনি যখন কোনও উপকারের কোনও পদ্ধতিতে কিছু না করার জন্য ওভাররাইড করতে চান তখন এটি কার্যকর হতে পারে।
কোজিরো

2
@kojiro যেমন কখনো কখনো যখন করছেন দরকারী en.wikipedia.org/wiki/Skeleton_(computer_programming)
ফ্রাঙ্ক Dernoncourt

1
ব্যতিক্রমগুলির প্রক্রিয়া করার সময় খুব সহজ। কখনও কখনও একটি ব্যতিক্রম একটি সাধারণ অবস্থা বোঝায় যে কেবল বিভিন্ন ধরণের প্রসেসিংয়ের প্রয়োজন। যে ক্ষেত্রে passমধ্যে exceptব্লক খুব উপকারে আসে।
ম্যাড পদার্থবিদ

উত্তর:


474

মনে করুন আপনি এমন কিছু পদ্ধতি নিয়ে একটি নতুন ক্লাস ডিজাইন করছেন যা আপনি এখনও প্রয়োগ করতে চান না।

class MyClass(object):
    def meth_a(self):
        pass

    def meth_b(self):
        print "I'm meth_b"

আপনি যদি এটিকে ছেড়ে চলে যান pass, কোডটি চলবে না।

আপনি তখন একটি পাবেন:

IndentationError: expected an indented block

সংক্ষেপে বলতে গেলে, passবিবৃতিটি বিশেষ কিছু করে না, তবে এটি এখানে প্রদর্শিত হিসাবে স্থানধারক হিসাবে কাজ করতে পারে।


22
ঠিক আছে, এক্ষেত্রে কেউ ব্যবহার করতেও পারে return, যদিও স্বল্পতার সাথে স্বল্পতার সাথে।

38
আমি সত্যিই মনে করি না এটি সঠিকভাবে প্রশ্নের উত্তর দেয়। কোনও কিছুর জন্য একটি সম্ভাব্য ব্যবহারের উদ্ধৃতি দেওয়া, এমনকি এটি এর পক্ষে সর্বাধিক সাধারণ ব্যবহার হলেও এটি কীসের জন্য তা ব্যাখ্যা করার মতো নয়।
শিলকোট

5
@ শিলকোট: আমি আপনার বক্তব্যটি দেখতে পাচ্ছি আমি আমার প্রাথমিক উত্তরে আরও একটি সংক্ষিপ্ত ব্যাখ্যা যুক্ত করেছি। তবে আমি মনে করি যে একটি সাধারণ উদাহরণ প্রায়শই একটি নির্দিষ্ট ধারণা বুঝতে সহায়তা করে।
সেবাস্তিয়ান_ও

3
নীচে @ অ্যানফোরির উত্তরগুলি দেখায় যে এটি কেন গুরুত্বপূর্ণ ভাষা উপাদান।
জন

2
এটির একটি ব্যাখ্যার ব্যাখ্যা দেয় pass, তবে এখনও এটি সত্যিই বুঝতে পারি না। প্রোডাকশন কোডে এর কি কোনও ব্যবহার আছে? আপনার উদাহরণ থেকে, আমি যতক্ষণ না এটি প্রয়োগের জন্য প্রস্তুত না হয়েছি আমি কেবল সে পদ্ধতিটি যুক্ত না করা বেছে নেব বা আমি কেবল এটি করব return
TheUiderSide

221

পাইথন সিনট্যাক্স প্রয়োজন যে কোড অবরোধের (পরে হয়েছে if, except, def, classইত্যাদি) না খালি হতে পারে। খালি কোড ব্লকগুলি বিভিন্ন প্রসঙ্গে যেমন যেমন নীচের উদাহরণগুলিতে দরকারী তবে আমি দেখা সবচেয়ে ঘন ঘন ব্যবহারের ঘটনা।

সুতরাং, যদি কোনও কোড ব্লকে কিছু হওয়ার কথা না হয় তবে এই passজাতীয় ব্লকের একটি উত্পাদন না করার জন্য একটি প্রয়োজন IndentationError। বিকল্পভাবে, কোনও বিবৃতি ( Ellipsisআক্ষরিক ...বা একটি স্ট্রিংয়ের মতো মূল্যায়ন করার জন্য কেবলমাত্র একটি শব্দ সহ , প্রায়শই একটি ডক্টস্ট্রিং) ব্যবহার করা যেতে পারে, তবে passস্পষ্ট করে দেয় যে আসলেই কিছু হওয়ার কথা নয় এবং প্রকৃতপক্ষে মূল্যায়ন করার প্রয়োজন নেই এবং (অন্তত অস্থায়ীভাবে) স্মৃতিতে সঞ্চিত।

  • একটি নির্দিষ্ট ধরণের (সমস্ত বা) উপেক্ষা করা ( Exceptionউদাহরণ থেকে xml):

    try:
        self.version = "Expat %d.%d.%d" % expat.version_info
    except AttributeError:
        pass # unknown

    দ্রষ্টব্য: নিম্নলিখিত ধরণের উদাহরণ থেকে সমস্ত ধরণের উত্থান উপেক্ষা pandasকরা সাধারণত খারাপ অভ্যাস হিসাবে বিবেচিত হয়, কারণ এটি ব্যতিক্রমগুলিও ধরবে যা সম্ভবত কলারের কাছে দেওয়া উচিত, যেমন KeyboardInterruptবা SystemExit(বা এমনকি HardwareIsOnFireError- কীভাবে আপনি কীভাবে জানেন যে আপনি নন নির্দিষ্ট ত্রুটিগুলি সংজ্ঞায়িত করে একটি কাস্টম বাক্সে চলমান, যা কিছু কলিং অ্যাপ্লিকেশনটি জানতে চায়?)।

    try:
        os.unlink(filename_larry)
    except:
        pass

    পরিবর্তে কমপক্ষে except Error:বা এই ক্ষেত্রে ব্যবহার করা except OSError:আরও ভাল অনুশীলন হিসাবে বিবেচিত হয়। আমি ইনস্টল করা সমস্ত অজগর মডিউলগুলির একটি দ্রুত বিশ্লেষণ আমাকে দিয়েছে যে সমস্ত except ...: passবিবৃতিগুলির 10% এরও বেশি সমস্ত ব্যতিক্রম ধরা পড়ে, তাই এটি পাইথন প্রোগ্রামিংয়ে এখনও একটি ঘন বিন্যাস।

  • একটি ব্যতিক্রম শ্রেণি আবিষ্কার যা নতুন আচরণ যুক্ত করে না (যেমন scipy:)

    class CompileError(Exception):
        pass

    একইভাবে, বিমূর্ত বেস শ্রেণি হিসাবে চিহ্নিত ক্লাসগুলির প্রায়শই একটি স্পষ্ট খালি __init__বা অন্যান্য পদ্ধতি থাকে যা সাবক্লাসগুলি উত্পন্ন করার কথা। (যেমন pebl)

    class _BaseSubmittingController(_BaseController):
        def submit(self, tasks): pass
        def retrieve(self, deferred_results): pass
  • সেই কোডটি পরীক্ষা করে ফলাফলের ( mpmath) থেকে যত্ন নেওয়া না করে কয়েকটি পরীক্ষামূলক মানের জন্য সঠিকভাবে চলে :

    for x, error in MDNewton(mp, f, (1,-2), verbose=0,
                             norm=lambda x: norm(x, inf)):
        pass
  • ক্লাস বা ফাংশন সংজ্ঞাগুলিতে, প্রায়শই একটি ডকস্ট্রিং ব্লকের একমাত্র জিনিস হিসাবে কার্যকর হওয়া বাধ্যতামূলক বিবৃতি হিসাবে ইতিমধ্যে স্থানে থাকে । এই ধরনের ক্ষেত্রে, "এটি আসলে কিছুই করার উদ্দেশ্যে করা হয়নি" বলার জন্য ব্লকটিতে ডক্টরসিংয়ের pass পাশাপাশি থাকতে পারে , উদাহরণস্বরূপ pebl:

    class ParsingError(Exception): 
        """Error encountered while parsing an ill-formed datafile."""
        pass
  • কিছু কিছু ক্ষেত্রে, passবলতে একটি স্থানধারক হিসেবে ব্যবহার করা হয় "এই পদ্ধতি / শ্রেণী / যদি-ব্লক / ... এখনও কার্যকর করা হয়েছে, কিন্তু এই তা করতে জায়গা হতে হবে" যদিও আমি ব্যক্তিগতভাবে পছন্দ করা Ellipsisআক্ষরিক ...করার জন্য পূর্ববর্তী উদাহরণে এটি এবং ইচ্ছাকৃত "কোনও অপ" এর মধ্যে কঠোরভাবে পার্থক্য করুন। ( দ্রষ্টব্য যে এলিপসিস আক্ষরিক কেবল পাইথন 3 এ একটি বৈধ এক্সপ্রেশন )
    উদাহরণস্বরূপ, আমি যদি ব্রড স্ট্রোকগুলিতে কোনও মডেল লিখি তবে আমি লিখতে পারি

    def update_agent(agent):
        ... 

    অন্যদের থাকতে পারে

    def update_agent(agent):
        pass

    আগে

    def time_step(agents):
        for agent in agents:
            update_agent(agent)

    update_agentপরবর্তী সময়ে ফাংশনটি পূরণ করার জন্য অনুস্মারক হিসাবে , তবে বাকি কোডটি ইচ্ছাকৃত আচরণ করে কিনা তা দেখতে ইতিমধ্যে কিছু পরীক্ষা চালান some (এই মামলার তৃতীয় বিকল্পটি হ'ল raise NotImplementedErrorএটি বিশেষত দুটি ক্ষেত্রে কার্যকর): "এই বিমূর্ত পদ্ধতিটি প্রতিটি উপশ্রেণীর দ্বারা প্রয়োগ করা উচিত, এই বেস শ্রেণিতে এটি সংজ্ঞায়নের কোনও জেনেরিক উপায় নেই" , বা "এই ফাংশন সহ, এই নামটি এই রিলিজটিতে এখনও প্রয়োগ করা হয়নি, তবে এটির স্বাক্ষরের মতো এটিই হবে " )


এটি একটি আরও ভাল উত্তর!
rjoxford

22

অসম্পূর্ণ ফাংশনগুলির জন্য স্থানধারক হিসাবে এর ব্যবহার ছাড়াও, passযদি-অন্য বিবৃতিটি পূরণ করতে কার্যকর হতে পারে ("সুস্পষ্ট বর্ণিত চেয়ে ভাল is")

def some_silly_transform(n):
    # Even numbers should be divided by 2
    if n % 2 == 0:
        n /= 2
        flag = True
    # Negative odd numbers should return their absolute value
    elif n < 0:
        n = -n
        flag = True
    # Otherwise, number should remain unchanged
    else:
        pass

অবশ্যই, এই ক্ষেত্রে, একটি সম্ভবত সম্ভবত returnঅ্যাসাইনমেন্টের পরিবর্তে ব্যবহার করবে , তবে ক্ষেত্রে যেখানে মিউটেশনটি পছন্দ হয়, এটি সবচেয়ে ভাল কাজ করে।

passশর্তাধীন বিবৃতিগুলির বাইরে অপ্রয়োজনীয় পদক্ষেপ না রাখার জন্য ভবিষ্যতের রক্ষণাবেক্ষণকারীদের (নিজেকে সহ!) সতর্ক করতে এখানে ব্যবহার বিশেষভাবে কার্যকর। উপরের উদাহরণে, flagনির্দিষ্টভাবে উল্লেখ করা দুটি ক্ষেত্রে সেট করা আছে, তবে elseক্যাসকেসে নয়। ব্যবহার না করে pass, ভবিষ্যতের প্রোগ্রামার flag = Trueশর্তের বাইরে চলে যেতে পারে। এইভাবে সমস্ত ক্ষেত্রে সেট flagকরে ।


আরেকটি কেস বয়লারপ্লেট ফাংশনটির সাথে প্রায়শই একটি ফাইলের নীচে দেখা যায়:

if __name__ == "__main__":
    pass

কিছু ফাইলগুলিতে, পরে ছেড়ে passদেওয়া সহজ সম্পাদনা করার অনুমতি দেওয়া এবং ফাইলটি যখন নিজে চালিত হয় তখন কিছুই হওয়ার আশঙ্কা করা হয় না তা পরিষ্কার করে দেওয়া ভাল হতে পারে।


অবশেষে অন্যান্য উত্তরে যেমন উল্লেখ করা হয়েছে, কোনও ব্যতিক্রম ধরা পড়লে কিছুই না করা কার্যকর হতে পারে:

try:
    n[i] = 0
except IndexError:
    pass

2
আমি মনে করি প্রথম দুটি উদাহরণ সাধারণত খারাপ অনুশীলন। প্রথম উদাহরণটি সম্পর্কে, আপনার "ব্লক" এর flag = Falseআগে সেট করা উচিত if ... elif যাতে "অস্পষ্টতা" নামের: নাম 'পতাকা' সংজ্ঞায়িত হয় না "পরে ত্রুটিগুলি। দ্বিতীয় উদাহরণটি সম্পর্কে, মনে হচ্ছে বিজরকে if __name__ == "__main__": passবেশিরভাগ পাইথন ফাইল যুক্ত করতে হবে যা সরাসরি মৃত্যুদণ্ড কার্যকর করার সময় কিছুই করে না (যা আপনি যখন মডুলার কোড লেখার ক্ষেত্রে ঘটে থাকে)। পাইথন> = 3.0 দিয়ে, "পরে শেষ" ব্লকগুলি নির্দেশ করার ...পরিবর্তে আপনার (এলিসিস) ব্যবহার করা উচিত pass
ostrokach

18

passস্পষ্টভাবে দোভাষীকে কিছুই না করতে বলার উপায় হিসাবে ভাবার সবচেয়ে ভাল এবং সঠিক উপায় । একই পদ্ধতিতে নিম্নলিখিত কোড:

def foo(x,y):
    return x+y

এর অর্থ "যদি আমি ফাংশনটিকে foo (x, y) বলি, তবে দুটি এবং লেবেল x এবং y প্রতিনিধিত্ব করে এবং ফলাফলটি ফিরিয়ে দিবে",

def bar():
    pass

এর অর্থ "যদি আমি ফাংশন বারকে কল করি (), একেবারে কিছু করো না।"

অন্যান্য উত্তরগুলি বেশ সঠিক, তবে এটি এমন কয়েকটি জিনিসের জন্যও কার্যকর যা স্থান ধারণকে জড়িত করে না।

উদাহরণস্বরূপ, আমি সম্প্রতি কিছু কোডে কাজ করেছি, দুটি ভেরিয়েবল বিভক্ত করা দরকার ছিল, এবং বিভাজকের পক্ষে শূন্য হওয়া সম্ভব ছিল।

c = a / b

স্পষ্টতই, খ শূন্য হলে একটি জিরো ডিভিশনইরার তৈরি করবে। এই বিশেষ পরিস্থিতিতে, সিটিকে শূন্য হিসাবে ছেড়ে দেওয়া বি শূন্যের ক্ষেত্রে কাঙ্ক্ষিত আচরণ ছিল, সুতরাং আমি নিম্নলিখিত কোডটি ব্যবহার করেছি:

try:
    c = a / b
except ZeroDivisionError:
    pass

অন্যটি, আপনার ডিবাগারের জন্য ব্রেকপয়েন্ট স্থাপনের জন্য কম জায়গা হিসাবে স্বল্প স্ট্যান্ডার্ড ব্যবহার। উদাহরণস্বরূপ, আমি একটি বিবৃতিতে ... এর 20 তম পুনরাবৃত্তিতে ডিবাগরে বিভক্ত করার জন্য কিছুটা কোড চেয়েছিলাম। তাই:

for t in range(25):
    do_a_thing(t)
    if t == 20:
        pass

পাস ব্রেক ব্রেকপয়েন্ট সহ।


def bar(): pass"একেবারে কিছুই না"। এটি এখনও Noneসুস্পষ্টভাবে ফিরে আসে ।
চিপনার

1
ডিবাগার সম্পর্কিত আপনার বক্তব্য প্রায়শই উপেক্ষা করা হয় তবে একটি গুরুত্বপূর্ণ বিষয়। +1
ওয়াটওয়ার

10

একটি সাধারণ ব্যবহারের ক্ষেত্রে যেখানে এটি 'যেমন রয়েছে' ব্যবহার করা যায় তা কেবল কোনও ধরণের (যা অন্যথায় সুপারক্লাসের মতো একই) তৈরি করতে কোনও শ্রেণিকে ওভাররাইড করা হয়, যেমন

class Error(Exception):
    pass

সুতরাং আপনি Errorব্যতিক্রম বাড়াতে এবং ধরতে পারেন । এখানে যা গুরুত্বপূর্ণ তা বিষয়বস্তুর চেয়ে ব্যতিক্রমের ধরণ।


6

passপাইথনে মূলত কিছুই হয় না, তবে একটি মন্তব্যের বিপরীতে এটি দোভাষী দ্বারা উপেক্ষা করা হয় না। সুতরাং আপনি এটিকে স্থানধারক করে অনেক জায়গায় এটির সুবিধা নিতে পারেন:

1: ক্লাসে ব্যবহার করা যেতে পারে

   class TestClass: 
      pass

2: লুপ এবং শর্তাধীন বিবৃতিতে ব্যবহার করা যেতে পারে:

   if (something == true):  # used in conditional statement
       pass

   while (some condition is true):  # user is not sure about the body of the loop
       pass

3: ফাংশন ব্যবহার করা যেতে পারে:

   def testFunction(args): # programmer wants to implement the body of the function later
       pass

passবেশিরভাগ ক্ষেত্রে ব্যবহৃত হয় যখন প্রোগ্রামার এই মুহুর্তে বাস্তবায়ন দিতে না চায় তবে এখনও একটি নির্দিষ্ট শ্রেণি / ফাংশন / শর্তসাপেক্ষ বিবৃতি তৈরি করতে চায় যা পরে ব্যবহার করা যেতে পারে। যেহেতু পাইথন ইন্টারপ্রেটারটি ফাঁকা বা অ-প্রয়োগহীন শ্রেণি / ফাংশন / শর্তসাপেক্ষ বিবৃতিটির অনুমতি দেয় না এটি এটি একটি ত্রুটি দেয়:

ইন্ডেন্টেশন এরর: প্রত্যাখাত একটি ব্লক

pass এই জাতীয় পরিস্থিতিতে ব্যবহার করা যেতে পারে।


5

আপনি বলতে পারেন যে পাসের অর্থ এনওপি (কোনও অপারেশন নয়) অপারেশন। এই উদাহরণের পরে আপনি একটি পরিষ্কার ছবি পাবেন: -

সি প্রোগ্রাম

#include<stdio.h>

void main()
{
    int age = 12;

    if( age < 18 )
    {
         printf("You are not adult, so you can't do that task ");
    }
    else if( age >= 18 && age < 60)
    {
        // I will add more code later inside it 
    }
    else
    {
         printf("You are too old to do anything , sorry ");
    }
}

এখন আপনি কীভাবে পাইথনে লিখবেন: -

age = 12

if age < 18:

    print "You are not adult, so you can't do that task"

elif age >= 18 and age < 60:

else:

    print "You are too old to do anything , sorry "

তবে আপনার কোডটি ত্রুটি দেবে কারণ এটি এলিফের পরে ইন্টেন্টেড ব্লকের প্রয়োজন । এখানে পাস কীওয়ার্ডের ভূমিকা রয়েছে ।

age = 12

if age < 18:

    print "You are not adult, so you can't do that task"

elif age >= 18 and age < 60:

    pass

else:

    print "You are too old to do anything , sorry "

এখন আমি আপনার কাছে এটি পরিষ্কার মনে করি।


1
&&পাইথনে অপারেটরটির অস্তিত্ব নেই
আইভান সি

5

পরীক্ষাগুলি আটকানোর সময় আমি এটি ব্যবহার করতে পছন্দ করি। আমি প্রায়শই প্রায়ই যা পরীক্ষা করতে চাই তা সম্পর্কে সচেতন থাকি তবে কীভাবে এটি করা যায় তা বেশ জানেন না। পরীক্ষার উদাহরণ দেখে মনে হচ্ছে সেবাস্তিয়ান_ও কী পরামর্শ দিয়েছে

class TestFunctions(unittest.TestCase):

   def test_some_feature(self):
      pass

   def test_some_other_feature(self):
      pass

আমি দৃ strongly়ভাবে এটি না করার পরামর্শ দিচ্ছি আপনি সহজেই এই জাতীয় খালি পরীক্ষা সম্পর্কে ভুলে যেতে পারেন! সর্বদা-ব্যর্থ শর্ট-কোডগুলি সহ পরীক্ষা- assert Falseassert 0
নিরীক্ষণের

4

পাস স্টেটমেন্ট কিছুই করে না। যখন কোনও বিবৃতি সিনট্যাক্টিকালি প্রয়োজন হয় তখন এটি ব্যবহার করা যেতে পারে তবে প্রোগ্রামটির কোনও পদক্ষেপের প্রয়োজন নেই।


4

সত্যিই, আমি মনে করি সরকারী পাইথন ডক্স এটি বেশ ভালভাবে বর্ণনা করে এবং কিছু উদাহরণ সরবরাহ করে:

পাস বিবৃতি কিছুই করে না। যখন কোনও বিবৃতি সিনট্যাক্টিকালি প্রয়োজন হয় তখন এটি ব্যবহার করা যেতে পারে তবে প্রোগ্রামটির কোনও পদক্ষেপের প্রয়োজন নেই। উদাহরণ স্বরূপ:

>>> while True: ... pass # Busy-wait for keyboard interrupt (Ctrl+C) ...

এটি সাধারণত ন্যূনতম শ্রেণি তৈরির জন্য ব্যবহৃত হয়:

>>> class MyEmptyClass: ... pass ...

যখন আপনি নতুন কোডে কাজ করছেন তখন আপনাকে আরও বিমূর্ত স্তরে চিন্তাভাবনা চালিয়ে যাওয়ার সুযোগ দেয় এমন কোনও স্থান পাস ব্যবহার করা যায় কোনও ফাংশন বা শর্তসাপেক্ষ শরীরে স্থানধারক হিসাবে। পাস চুপটি উপেক্ষা করা হয়:

>>> def initlog(*args): ... pass # Remember to implement this! ...


0

যেমনটি বইটি বলেছে, আমি কেবল কখনও এটি অস্থায়ী স্থানধারক হিসাবে ব্যবহার করি, অর্থাৎ,

# code that does something to to a variable, var
if var == 2000:
    pass
else:
    var += 1

এবং তারপরে যেখানে দৃশ্যটি পূরণ করুন var == 2000


3
তুমি কোন বইয়ের কথা বলছ?

দুঃখিত ... গাইড, যা ওপি উল্লেখ করেছে
ক্যামেরন স্পার

0

পাস বলতে অবহেলা করা .... যত সহজ সরল .... যদি প্রদত্ত শর্তটি সত্য হয় এবং পরবর্তী বিবৃতিটি পাস করা হয় তবে এটি সেই মান বা পুনরাবৃত্তিকে উপেক্ষা করে পরবর্তী লাইনে এগিয়ে যায় ..... উদাহরণ

For i in range (1,100):
    If i%2==0:
                  Pass 
    Else:
                  Print(i)

আউটপুট: 1-100 থেকে সমস্ত বিজোড় সংখ্যা মুদ্রণ করে

এর কারণ এটি হল যে সংখ্যার মডুলাস শূন্যের সমান, সুতরাং এটি সংখ্যাটিকে উপেক্ষা করে পরবর্তী সংখ্যায় এগিয়ে যায়, যেহেতু বিজোড় সংখ্যাগুলির মডুলাস শূন্যের সমান নয় লুপের অন্য অংশটি কার্যকর হয় এবং এটি মুদ্রিত হয়


আমি একটি পেতে SyntaxError। এছাড়াও, passfor i in range(1,100):print(i)if i%2else""
এটির

-1

এখানে একটি উদাহরণ রয়েছে যেখানে আমি একাধিক ডেটা টাইপ করে এমন তালিকা থেকে নির্দিষ্ট ডেটা আহরণ করছিলাম (এটিই আমি আর-এ বলি - এটি ভুল নামকরণ হলে দুঃখিত) এবং আমি কেবল পূর্ণসংখ্যা / সংখ্যাসূচক এবং না বর্ণের ডেটা বের করতে চেয়েছিলাম ।

ডেটা দেখে মনে হচ্ছে:

>>> a = ['1', 'env', '2', 'gag', '1.234', 'nef']
>>> data = []
>>> type(a)
<class 'list'>
>>> type(a[1])
<class 'str'>
>>> type(a[0])
<class 'str'>

আমি সমস্ত বর্ণানুক্রমিক অক্ষর মুছে ফেলতে চেয়েছিলাম, সুতরাং আমার কাছে ডেটা সাবসেট করে এবং বর্ণানুক্রমিক ডেটা "পাস" করে মেশিনটি এটি করতে হয়েছিল:

a = ['1', 'env', '2', 'gag', '1.234', 'nef']
data = []
for i in range(0, len(a)):
    if a[i].isalpha():
        pass
    else:
        data.append(a[i])
print(data)
['1', '2', '1.234']

-1

পাইথনে পাস স্টেটমেন্ট ব্যবহার করা হয় যখন একটি বিবৃতি সিনট্যাক্টিকালি প্রয়োজন হয় তবে আপনি কোনও আদেশ বা কোড কার্যকর করতে চান না।

পাস স্টেটমেন্টটি নাল অপারেশন; এটি কার্যকর হলে কিছুই হয় না। পাসটি সেই জায়গাগুলিতেও দরকারী যেখানে আপনার কোডটি শেষ পর্যন্ত যাবে তবে এখনও লেখা হয়নি (উদাহরণস্বরূপ স্টাবগুলিতে):

`উদাহরণ:

#!/usr/bin/python

for letter in 'Python': 
   if letter == 'h':
      pass
      print 'This is pass block'
   print 'Current Letter :', letter

print "Good bye!"

এটি নিম্নলিখিত ফলাফল উত্পন্ন করবে:

Current Letter : P
Current Letter : y
Current Letter : t
This is pass block
Current Letter : h
Current Letter : o
Current Letter : n
Good bye!

বর্ণের মান 'h' হলে পূর্ববর্তী কোড কোনও বিবৃতি বা কোড কার্যকর করে না। পাসের বিবৃতিটি কার্যকর যখন আপনি একটি কোড ব্লক তৈরি করেছেন তবে এটির আর প্রয়োজন নেই।

তারপরে আপনি ব্লকের ভিতরে থাকা বিবৃতিগুলি সরিয়ে ফেলতে পারেন তবে ব্লকটি একটি পাসের স্টেটমেন্টের সাথে থাকতে দিন যাতে এটি কোডের অন্যান্য অংশে হস্তক্ষেপ না করে।


-1

পাইথ পাইথনে অজানা ত্রুটি এড়াতে পাস ব্যবহার করা হয় আমরা যদি সি, সি ++, জাভা জাতীয় ভাষা গ্রহণ করি তবে তাদের মতো ধনুর্বন্ধনী রয়েছে

 if(i==0)
 {}
 else
 {//some code}

তবে পাইথনে এটি ব্রেসগুলির পরিবর্তে ইনডেন্টেশন ব্যবহার করেছিল যাতে আমরা পাস ব্যবহার করি না। আপনি যখন একটি কুইজ খেলছিলেন এবং মনে পড়েছিল

 if(dont_know_the_answer)
      pass

উদাহরণ প্রোগ্রাম,

  for letter in 'geeksforgeeks':
        pass
  print 'Last Letter :', letter
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.