درک کامل تورفتگی(indentation) در پایتون

January 2022

درک کامل تورفتگی(indentation) در پایتون

 

 #  تورفتگی در پایتون چیست؟

تورفتگی فضای سفید اصلی قبل از هر عبارت پایتون است. تورفتگی در زبان های دیگر مانند c، c++ فقط برای خوانایی است، اما در پایتون، تورفتگی یک مفهوم بسیار مهم و اجباری است که هنگام نوشتن کد پایتون باید رعایت شود، در غیر این صورت، خطای IndentationError توسط مفسر پایتون ایجاد میشود.

 

دلیل مهم بودن تورفتگی در پایتون این است که تورفتگی هدف دیگری غیر از خوانایی کد دارد. پایتون عباراتی را که سطح تورفتگی یکسانی دارند به‌ عنوان یک بلوک کد میشناسد. بنابراین در حالی که در زبان‌هایی مانند c، c++، یک بلوک کد با آکولاد {} نشان داده می‌شود، در پایتون یک بلوک گروهی از عبارات است که دارای سطح تورفتگی یکسان هستند.

نمایش تورفتگی در پایتون

 

با نگاه به تصویر بالا به راحتی میتوانیم تورفتگی در پایتون را درک کنیم:

 

 

 

 

 

به این ترتیب است که تورفتگی به تعریف بلوک ها و همچنین تشخیص اینکه بلوک به کدام عبارات تعلق دارد کمک می کند.

 

دوره پیشنهادی: دوره آموزش پایتون

 

 +  مثال از تورفتگی پایتون

در مثال اول، یک شرط if به همراه بدنه else را داریم که به شکل درستی از تورفتگی پایتون استفاده کرده است:

name = 'amir'
  
if name == 'amir':
   print('WelCome amir..')
   print('How are you?')
else:
   print('Dude! whoever you are ')
   print('Why you here?')
 
print('Have a great day!')

 

 

در کد بالا، یک متغیر با مقدار amir داریم. در خط بعدی با شرط if بررسی کردیم که اگر متغیر name برابر amir بود دو جمله چاپ شود، در غیر اینصورت دو جمله دیگر چاپ شود:

WelCome amir..
How are you?
Happy Coding!

 

در مثال دوم، یک حلقه while داریم که از عدد 1 تا 6 را چاپ میکند:

i = 1
while(i <= 6):
    print("Value is " + str(i))
    i = i + 1

# OUTPUT
Value is 1
Value is 2
Value is 3
Value is 4
Value is 5
Value is 6

 

مقاله پیشنهادی: بهترین کتابخانه های پایتون برای کار با http

 

 #  پیغام خطای IndentationError پایتون

 

if( 1 == 1):
print("This is test code")

# OUTPUT
  File "/home/amir/Desktop/python/two.py", line 2
    print("This is test code")
    ^
IndentationError: expected an indented block

 

if( 1 == 1):
 print("This is test code")
     print("This is test code1")

 

    if( 1 == 1):
print("This is test code")

 

مقاله پیشنهادی: wsgi پایتون چیست؟

 

 #  قوانین تورفتگی پایتون

 

مقالات مرتبط

اجرای برنامه‌های فلسک با داکر

ساخت میکروسرویس با nameko در پایتون

خطای syntax error در پایتون

10 روش برای ریفکتور کردن کدهای پایتونی