آموزش پایتون - دستور pass

دستور pass در پایتون

دستور pass در پایتون زمانی استفاده می‌شود که از نظر نحو (سینتکس) به یک دستور نیاز است، اما شما نمی‌خواهید هیچ فرمان یا کدی اجرا شود. این یک دستور تهی (null) است، به این معنی که با اجرای آن هیچ اتفاقی نمی‌افتد. این دستور همچنین در جاهایی که قرار است قطعه کدی بعداً اضافه شود کاربرد دارد و به عنوان یک نگهدارنده مکان (placeholder) عمل می‌کند تا مطمئن شوید برنامه بدون خطا اجرا می‌شود.

به عنوان مثال، در تعریف یک تابع یا کلاس که پیاده‌سازی آن هنوز نوشته نشده است، می‌توان از دستور pass برای جلوگیری از بروز SyntaxError استفاده کرد. علاوه بر این، می‌تواند به عنوان نگهدارنده مکان در دستورات کنترل جریان مانند حلقه‌های for و while نیز خدمت کند.

سینتکس دستور pass

سینتکس دستور pass در پایتون به صورت زیر است −

pass

مثالی از دستور pass

کد زیر نحوه استفاده از دستور pass را در پایتون نشان می‌دهد −

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!

حلقه بی‌نهایت ساختگی با دستور pass

ایجاد یک حلقه بی‌نهایت با استفاده از دستور pass در پایتون بسیار ساده است.

مثال

اگر می‌خواهید یک حلقه بی‌نهایت بنویسید که در هر بار تکرار هیچ کاری انجام ندهد، مانند زیر عمل کنید −

while True: pass  
# Type Ctrl-C to stop                

از آنجایی که بدنه حلقه فقط یک دستور خالی است، پایتون در این حلقه گیر می‌کند.

استفاده از سه نقطه (...) به عنوان جایگزین دستور pass

پایتون نسخه ۳.X اجازه می‌دهد از سه نقطه (که به صورت سه نقطه متوالی ... کدنویسی می‌شود) به جای دستور pass استفاده شود. هر دو به عنوان نگهدارنده مکان برای کدهایی که قرار است بعداً نوشته شوند عمل می‌کنند.

مثال

به عنوان مثال، اگر یک تابع ایجاد کنیم که هیچ کاری انجام نمی‌دهد، به‌ویژه برای کدهایی که قرار است بعداً پر شوند، می‌توانیم از ... استفاده کنیم.

def func1():
   # Alternative to pass
   ...                   

# Works on same line too
def func2(): ...          
 # Does nothing if called
func1()                  
func2()                  

پیشرفت مطالعه: وضعیت خوانده‌شدن این درس فقط در همین مرورگر ذخیره می‌شود؛ بدون نیاز به حساب کاربری.