ویدیو آموزش متد reversed در پایتون
در این ویدیو با متد reversed و __reversed__ در پایتون آشنا میشوید. از این دو متد برای برعکس کردن آبجکتهای iterable و ساخت آبجکتهایی که قابل برعکس شدن هستند استفاده میشوند.
# متد reversed در پایتون
متد reversed برای برعکس کردن آبجکتهای iterable استفاده میشه. مثلا در کد پایین یک لیست و string را برعکس میکنیم:
l = [2, 4, 6, 8]
s = 'mongard'
print( list( reversed(l) ) )
print( list( reversed(s) ) )
# [8, 6, 4, 2]
# ['d', 'r', 'a', 'g', 'n', 'o', 'm']
# متد __reversed__ در پایتون
در زمانی که میخواهید آبجکتهایی که خودتان ساختهاید را قابل برعکس شدن کنید میتوانید از متد __reversed__ استفاده کنید. در کد پایین یک کلاس به نام Person ساختهایم و سعی میکنیم آبجکت آن را برعکس کنیم اما پایتون به ما ارور میدهد چون پایتون نمیداند که چطور باید این کلاس را برعکس کند:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
a = Person('amir', 40)
print(reversed(a))
اگر بخواهیم این کلاس را قابل برعکس کردن کنیم باید متد __reversed__ را به آن اضافه کنیم. در کد پایین با استفاده از متد __reversed__ مشخص کردهایم که در برای برعکس شدن باید self.name را از آخر به اول به ما برگرداند:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __reversed__(self):
return self.name[::-1]
a = Person('amir', 40)
print(reversed(a))
اگر ویدیو بالا را دوست داشتید، پیشنهاد میکنیم به مطالب زیر هم سر بزنید:
ویدیو آموزش کار با markdown در پایتون
ویدیو آموزش متدهای sort و sorted در پایتون
ویدیو آموزش متدهای __getattr__, __setattr__, __delattr__ در پایتون
ارسال نظر