ویرگول
ورودثبت نام
بیژن حجازی
بیژن حجازیسلام! نوشتن به منزله مطالعه «خود» هست. من بیشتر تو زمینه برنامه نویسی و روان شناسی مطلب میذارم. خوشحال میشم نظرات تون رو باهام در میون بذارین.
بیژن حجازی
بیژن حجازی
خواندن ۲ دقیقه·۵ سال پیش

حلقه های index-aware در Python

نماد پایتان مثل Syntax اش ساده، قدرتمند و مفهمومی عه.
نماد پایتان مثل Syntax اش ساده، قدرتمند و مفهمومی عه.

توی پایتان به جای for کلاسیک مثل زبان C، یک ساختار for خیلی ساده تر داریم که خودش واسمون همه محاسبات رو انجام میده. ولی ممکنه لازم باشه مثل زبان C بدونیم که حلقه چندمه. یعنی اون i معروف رو داشته باشیم. متد ها مختلفی هست برای این کار که تو این مقاله بررسی شون می کنیم. (i حرف اول index یا iteration هست)

استفاده از while

خوب میشه به صورت دستی و با استفاده از while به این مهم (مثل ادبیات اداری شد! این مهم) دست یافت!!!

i = 0 while i < len(users): print(users[i]) i += 1

یک خطر کوچولویی که توی این متد هست اینه که یادت بره i رو هر چرخه زیاد کنی (از همین الان دستت رو بذار روی قلبت و قسم بخور هر وقت while باز کردی اول از هر چیزی، i اش رو زیاد کنی. شاید بدیهی به نظرت بیاد ولی خطای رایجی هست) و این طوری تا قیامت چرخه اجرا بشه.

استفاده از range(len(my_list))

این کلک هم استفاده میشه. چطوری؟ این طوری:

for i in range(len(users)): print(users[i])

از روش بالایی بهتره. زیاد هم استفاده میکنن از این روش ولی روش بهتری هم هست. در خصوص تابع range حتما دقت کن که مثلا range(4) شامل خود 4 نمیشه. یعنی میشه 3 ,2 ,1 ,0

استفاده از enumerate

یک تابعی توی Python هست به اسم enumerate که می تونی list ات رو بهش بدی و برات شماره گذاریش میکنه. به کد دقت کن:

for index, user in enumerate(users): print(index, user)

این روش بهتر از همه است. نه نیازه چیزی رو دستی محاسبه کنی و نه نیازه که با پرانتز های اضافی خودت رو اذیت کنی. هم احتمال خطا کمتره هم اضافه نویسی نداره.

نتیجه گیری

از قدیم گفتن پیش گیری بهتر از درمانه. توی کد نویسی هم همینه. یک سری عادت های عمومی در برنامه نویسی هست (که بهش میگن Practice) که اگه از همین اول کار رعایت شون کنی فردا توی پروژه های بزرگ به احتمال خیلی کمتری درگیر Bug های اعصاب خورد کن میشی. این خیلی مهمه. Bug ها محصول استفاده از کد های غیر استانداردن. فردا اگه قرار باشه تو پروژه های بزرگ این کد های غیر استاندارد رو بنویسی این قدر Bug برات درست میکنن که وسط پروژه بی خیال ادامه میشی و می بری. همون طوری که یک طنز معروف میگه: ۵۰ درصد برنامه نویسی کد نویسی عه، ۷۰ درصد بقیش debugging عه!

پایتونبرنامه نویسیکدنویسی
۸
۱
بیژن حجازی
بیژن حجازی
سلام! نوشتن به منزله مطالعه «خود» هست. من بیشتر تو زمینه برنامه نویسی و روان شناسی مطلب میذارم. خوشحال میشم نظرات تون رو باهام در میون بذارین.
شاید از این پست‌ها خوشتان بیاید