میخوام یه حلقه جالب با فور در پایتون بهتون معرفی کنم که خودش یه نگهبان هم داره.
اینکار رو با کمک فانکشن iter انجام میدیم
همه iter رو به شکل زیر میشناسیم
➡️iter(iterable)
که هر شی iterable رو تبدیل میکنه به یک شی iterator که ما باهاش کاری نداریم
ما با iter(callable,sentinel) کار داریم
که یه همچین عملکردی داره
def iter(callable, sentinel):
while True:
value = callable()
if value == sentinel:
return
yield value
خلاصه بگم تا زمانی که خروجی تابع با مقداری که بهش گفتیم برابر نباشه خروجی تابع رو برای ما ییلد میکنه
حالا ما اگه بیایم این مورد رو با حلقه فور ترکیب کنیم میتونیم بگیم این حلقه من رو تا زمانی که خروجی فانکشنم برابر با مقدار مد نظرم نیست ادامه بده
برای مثال من اینجا اومدم تا زمانی که کاربر در ورودی مقدار "" وارد نکرده ازش ورودی گرفتم و اونو چاپ کردم
for i in iter(input , ""):
print(i)
اینجوری خیلی از پیچیدگی دستورات رو میتونیم کم کنیم
حالا کجا ها کاربرد داره؟ برای مثال میخواییم یه فایل لاگ رو بخونیم
LOG_END="EOF_MARKER"
with open("log.txt") as f:
for i in iter(f.readline,LOG_END):
pass
@comma_code
@comma_code1
#python #iter #comma_code
#پایتون #کاما_کد
3 · 437 · پستمیخوام یه حلقه جالب با فور در پایتون بهتون معرفی کنم که خودش یه نگهبان هم داره.
4 اکتبر 2026در همان حوالی فید
این پیام