بازگشت به دوره
آموزش رایگان صفر تا صد پایتون (Python) به زبان ساده
0% تکمیلشده
0/0 مرحله
-
معرفی پایتون
-
شروع کار با پایتون
-
دستور زبان پایتون (Python Syntax)
-
توضیح کامنتها در پایتون
-
متغیرها در پایتون
-
نامهای متغیر در پایتون
-
معرفی متغیرها در پایتون و اختصاص چندین مقدار به آنها
-
معرفی متغیرها در خروجی با استفاده از پایتون
-
متغیرهای سراسری (Global Variables) در پایتون
-
انواع دادهها در پایتون
-
انواع اعداد در پایتون
-
تبدیل نوع داده در پایتون (Python Casting)
-
رشتهها در پایتون (Python Strings)
-
برش دادن رشتهها در پایتون (Python - Slicing Strings)
-
تغییر رشتهها در پایتون
-
ترکیب رشتهها در پایتون (String Concatenation)
-
آشنایی با فرمتبندی رشتهها در پایتون
-
کاراکترهای Escape در پایتون
-
مقدمهای بر بولیها (Booleans) در پایتون
-
عملگرها در پایتون
-
لیستها در پایتون
-
دسترسی به آیتمهای لیست در پایتون
-
تغییر مقدار آیتمهای لیست در پایتون
-
افزودن آیتم به لیست در پایتون
-
حذف آیتمها از لیست در پایتون
-
حلقه زدن در لیستها در پایتون
-
معرفی List Comprehension در پایتون
-
مرتبسازی لیستها در پایتون
-
کپی کردن لیستها در پایتون
-
اتصال (Join) لیستها در پایتون
-
آشنایی با Tuple در پایتون
-
دسترسی به آیتمهای یک Tuple در پایتون
-
بروزرسانی Tuple در پایتون
-
باز کردن (Unpacking) Tuple در پایتون
-
حلقهها در Tupleها در پایتون
-
آموزش ترکیب و تکرار تاپلها در پایتون (Join Tuples)
-
مجموعهها (Set) در پایتون
-
دسترسی به آیتمهای مجموعه (Set) در پایتون
-
افزودن آیتم به Set در پایتون
-
حذف آیتمها از Set در Python
-
حلقه در مجموعهها (Set) در پایتون
-
روشهای ترکیب مجموعهها در پایتون (Join Sets)
-
دیکشنریها در پایتون
-
دسترسی به آیتمهای دیکشنری در پایتون
-
تغییر مقادیر دیکشنری در پایتون
-
اضافه کردن آیتمها به دیکشنری در پایتون
-
حذف آیتمها از دیکشنری در پایتون
-
استفاده از حلقهها در دیکشنریها در پایتون
-
کپی کردن دیکشنری در پایتون
-
دیکشنریهای تو در تو در پایتون (Nested Dictionaries)
-
شرطها و دستور If در پایتون
-
حلقههای while در پایتون
-
حلقههای for در پایتون
-
توابع در پایتون
-
معرفی فانکشنهای لامبدا در پایتون
-
آرایهها (Arrays) در پایتون
-
کلاسها و اشیا در پایتون
-
وراثت (Inheritance) در پایتون
-
ایتریتور (یکی یکی پیش رفتن) در پایتون
-
چندریختی (Polymorphism) در پایتون
-
محدوده (Scope) در پایتون
-
ماژول در پایتون چیست؟
-
کار با تاریخ در پایتون
-
ریاضیات در پایتون
-
JSON در پایتون به زبان ساده
-
عبارات منظم (RegEx) در پایتون
-
Python PIP
-
معرفی Try-Except در پایتون
-
ورودی کاربر در پایتون
-
فرمتبندی رشتهها در پایتون
ایتریتور (یکی یکی پیش رفتن) در پایتون
ایتریتور یک شیء با مجموعهای قابل شمارش از مقادیر است. میتوانیم به مقادیر آن یکی یکی دسترسی داشته باشیم. در پایتون، یک ایتریتور کلاسی است که از دو متد __iter__()
و __next__()
پیروی میکند.
تفاوت ایتریتور و آیترابل (Iterable)
مجموعههایی مثل list
(لیست)، tuple
(تاپل)، dictionary
(دیکشنری) و set
(مجموعه) همه iterable
هستند، یعنی میتوانیم از آنها یک iterator
بسازیم. مهمترین نکته اینجاست که همه iterable
ها متد iter()
را دارند که یک iterator
تولید میکند.
مثال: گرفتن iterator
از tuple
mytuple = ("apple", "banana", "cherry")
myit = iter(mytuple)
print(next(myit)) # apple
print(next(myit)) # banana
print(next(myit)) # cherry
مثال: گرفتن iterator
از string
mystr = "banana"
myit = iter(mystr)
print(next(myit)) # b
print(next(myit)) # a
print(next(myit)) # n
مرور بر ایتریتور با for loop
بهجای استفاده از next()
میتوانیم از یک حلقه for
برای مرور روی iterator
استفاده کنیم.
مثال: مرور بر tuple
mytuple = ("apple", "banana", "cherry")
for x in mytuple:
print(x)
یک ایتریتور خودمان بسازیم!
برای ساخت یک iterator
خودمان، باید دو متد __iter__()
و __next__()
را در یک کلاس تعریف کنیم.
مثال: ایتریتور شمارنده اعداد
class MyNumbers:
def __iter__(self):
self.a = 1
return self
def __next__(self):
x = self.a
self.a += 1
return x
myclass = MyNumbers()
myiter = iter(myclass)
print(next(myiter)) # 1
print(next(myiter)) # 2
print(next(myiter)) # 3
متوقف کردن یک ایتریتور
اگر بخواهیم پس از تعداد مشخصی مقدار StopIteration
رخ دهد، میتوانیم در __next__()
این مورد را کنترل کنیم.
مثال: متوقف کردن ایتریتور پس از 5 مقدار
class MyNumbers:
def __iter__(self):
self.a = 1
return self
def __next__(self):
if self.a > 5:
raise StopIteration
x = self.a
self.a += 1
return x
myclass = MyNumbers()
myiter = iter(myclass)
for x in myiter:
print(x) # 1 2 3 4 5
جمعبندی
iterable
ها شاملlist
،tuple
،dict
وset
هستند.iterator
یک شیء است که دارای__iter__()
و__next__()
است.for loop
بهطور خودکار ازiterator
استفاده میکند.- میتوانیم
iterator
خودمان را با یک کلاس سفارشیسازی کنیم. - با
StopIteration
میتوانیم مقداردهی را متوقف کنیم.