ویدیو آموزش درک ترتیب اجرا کدها در پایتون

November 2021

زمانی که در حال نوشتن کدهای پایتونی هستید، درک ترتیب اجرای کدها بسیار مهم است. بسیار شنیده‌اید که پایتون ماژول‌ها را از بالا به پایین اجرا میکند اما این اصلا درست نیست. پایتون فقط کدها را از بالا به پایین میخواند اما اجرا متفاوت است. در این ویدیو در رابطه با 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

 

ارسال نظر

تلاش میکنم سوالات شما را در کمتر از یک روز پاسخ بدم

پویا

November 2021

سلام اقا امیر عزیز میخواستم یه ویدیو تک قسمتی درست کنی از و یک مصاحبه فرضی برای پوزیشن تازه کار جنگو هم جالب میشه هم باعث میشه ترس یکسری بچه ها که از مصاحبه و سوالاتش میترسن باشه چون بعضا فکر میکنن سوالات خیلی عجیب غریب هست فکر کنم اعتماد به نفس بده این ویدیو و هم روند فنی مصاحبه ها معلوم میشه بازم ممنون بابت دوره ها خوبتون .

پاسخ به نظر