آموزش PEP پایتون - تورفتگی
May 2020
از 4 فاصله برای تورفتگی در پایتون استفاده کنید.
خطوط طولانی کد باید با استفاده از پرانتز، براکت، آکولاد یا تورفتگیهای معلق به صورت عمودی شکسته و به خطوط کوتاهتری تقسیم شوند. زمانی که تصمیم به استفاده از تورفتگیهای معلق گرفتید به یاد داشته باشید که در خط اول هیچ آرگومانی نباید وجود داشته باشد و با استفاده از تورفتگیهای بیشتر باید خط هدف مشخص شود. به مثال زیر دقت کنید:
درست:
# آرگومانها با استفاده از پرانتز هماهنگ شدهاند
foo = long_function_name(var_one, var_two,
var_three, var_four)
# تورفتگیهای بیشتری استفاده شده تا آرگومانها را از بقیه کدها مشخص کند
def long_function_name(
var_one, var_two, var_three,
var_four):
print(var_one)
# تورفتگیهای معلق باید یک سطح جدیدی ایجاد کنند
foo = long_function_name(
var_one, var_two,
var_three, var_four)
نادرست:
# آرگومانها در خط اول ممنوع هستند زمانی که به صورت عمودی هماهنگ نیستند
foo = long_function_name(var_one, var_two,
var_three, var_four)
# تورفتگیهای بیشتری نیاز است چون تورفتگیهای آرگومانها مشخص نیستند
def long_function_name(
var_one, var_two, var_three,
var_four):
print(var_one)
اگر بخش شرط دستور if شما به اندازه ای است که باید در چند خط نوشته شود، باید ابتدا دستور if سپس یک فاصله سپس پرانتز باز سپس اولین شرط در خطوط بعدی شرطهای دیگر را بنویسید.
# هیچ تورفتگی اضافهای نیست
if (this_is_one_thing and
that_is_another_thing):
do_something()
# میتوانید از یک کامنت استفاده کنید تا بتوان بین کدها تفاوت ایجاد کرد
if (this_is_one_thing and
that_is_another_thing):
# Since both conditions are true, we can frobnicate.
do_something()
# اضافه کردن تورفتگیهای بیشتر در بخش شرط
if (this_is_one_thing
and that_is_another_thing):
do_something()
کاراکترهایی مثل پرانتز بسته، براکت بسته یا آکولاد بسته میتوانند به دو شکل متفاوت نوشته شوند. یا میتوانند زیر اولین کاراکتر از آخرین خط باشند:
my_list = [
1, 2, 3,
4, 5, 6,
]
result = some_function_that_takes_arguments(
'a', 'b', 'c',
'd', 'e', 'f',
)
یا میتوانند در زیر اولین کاراکتر از کلمهای که دستور چند خطی را ایجاد کرده باشند:
my_list = [
1, 2, 3,
4, 5, 6,
]
result = some_function_that_takes_arguments(
'a', 'b', 'c',
'd', 'e', 'f',
)
از Tab استفاده کنیم یا Space؟
spaceها روش تورفتگی مطلوب هستند.
Tabها فقط باید زمانی استفاده شوند که بخواهید با کدی که قبلا با Tab ساخته شده کار کنید.
پایتون 3 استفاده همزمان از Tabها و spaceها را برای تورفتگی مجاز نمی داند.
کدهایی که با پایتون 2 نوشته شده اند و به شکل همزمان از Tab و Space استفاده میکند فقط باید از Space برای ادامه توسعه استفاده کنند.