ویدیو آموزش متد reversed در پایتون

October 2021

در این ویدیو با متد 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__ در پایتون

ارسال نظر

تلاش میکنم سوالات شما را در کمتر از یک روز پاسخ بدم

Hexmin

December 2021

به به مختصر و مفید

پاسخ به نظر