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

امیرحسین بیگدلو June 2023

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

 

ویدیوهای مشابه



ارسال نظر


محمد دری

2 سال قبل پاسخ به نظر

میخواستم بگم منم با نظر ایشون موافقم
ممنون :)

ارسال نظر



علی

11 ماه قبل

محمد دری حدقل اسمتو عوض میکردی حاجی بعد با نظر ایشون موافقت میکردی

محمد دری

2 سال قبل پاسخ به نظر

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

ارسال نظر



پویا

3 سال قبل پاسخ به نظر

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

ارسال نظر



مونگارد