ویدیو آموزش درک ترتیب اجرا کدها در پایتون
زمانی که در حال نوشتن کدهای پایتونی هستید، درک ترتیب اجرای کدها بسیار مهم است. بسیار شنیدهاید که پایتون ماژولها را از بالا به پایین اجرا میکند اما این اصلا درست نیست. پایتون فقط کدها را از بالا به پایین میخواند اما اجرا متفاوت است. در این ویدیو در رابطه با flow of execution یاد خواهید گرفت.
# ترتیب اجرای کدها در پایتون
اجرای کد همیشه از اولین دستور شروع میشود. دستورات از بالا به پایین خوانده میشوند به ترتیب خوانده و اجرا میشوند. دقت کنید که کلماتی کلیدی مانند def یا class ترتیب اجرا را تغییر نمیدهند. پایتون فقط فانکشنها و کلاسها را به حافظه سپرده و بعد در صورت نیاز آنها را اجرا میکند. صدا زدن فانکشنها یا کلاسها مانند یک میانبر است که جریان اجرای کدها را تغییر میدهد.
به طور مثال در زمان صدا زدن یک فانکشن، به جای اینکه پایتون به خط بعدی برود، به خطی که در آن فانکشن تعریف شده، پرش میکند، تمام دستورات آنرا اجرا کرده و سپس به ادامه برنامه برمیگردد.
این به نظر ساده است، تا زمانی که یک فانکشن، فانکشن دیگری را صدا بزند. در زمان اجرا یک فانکشن، پایتون ممکن است مجبور شود دستورات یک فانکشن دیگر را اجرا کند. که این باعث ایجاد پیچیدگی در درک ترتیب اجرا میشود. خوشبختانه پایتون به اندازه کافی باهوش هست که بتواند به جایی که پرش کرده برگردد.
نکته این داستان کثیف کجاست؟ نکته این است که اگر خواستید سورس کد یک برنامه را بخوانید، اینکار را از بالا به پایین انجام ندهید، در عوض با flow of exection جلو بروید. این یعنی به کلمه def که رسیدید آنرا نادیده گرفته و بدنه آنرا نخوانید. بعدها اگر آن فانکشن صدا زده شد، بدنه فانکشن را بخوانید.
در پایین یک قطعه کد وجود دارد که میخواهیم نحوه اجرای آنرا ببینیم:
1. import datetime
2.
3.
4. print('Start...')
5.
6.
7. def one(name):
8. return f'Hello {name}'
9.
10. class A:
11. def __init__(self):
12. print('starting A class')
13.
14. def show(self):
15. result = one('amir')
16. return result
17.
18. a = A()
19. a.show()
زمانی که پایتون کد بالا را اجرا میکند، ترتیب اجرا کد به شکل زیر است:
1 4 18 10 11 12 19 10 14 15 7 8 15 16 19
ارسال نظر