ویدیو آموزش متدهای hasattr, getattr, setattr, delattr در پایتون

امیرحسین بیگدلو April 2023

متد hasattr بررسی میکند آیا یک آبجکت اتریبیوت خاصی دارد یا نه. اگر داشته باشد مقدار True را return کرده در غیر اینصورت False را برمیگرداند:

class Person:
   name = "John"
   age = 36


>>> hasattr(Person, 'age')  # True
>>> hasattr(Person, 'city')  # False

 

متد getattr مقدار اتریبیوت آبجکت را برمیگرداند اگر اتریبیوت درخواستی وجود نداشته باشد ارور AttributeError برگشت  داده میشود:

class Person:
   name = "John"
   age = 36


>>> getattr(Person, 'age')  # 36
>>> getattr(Person, 'city')  # AttributeError

 

با استفاده از متد setattr میتوانید اتریبیوت‌های جدیدی را به آبجکت اضافه کنید:

class Person:
   name = "John"
   age = 36


>>> setattr(Person, 'city', 'New York')

>>> getattr(Person, 'city')  # New York

 

با استفاده از متد delattr میتوانید یک اتریبیوت را از آبجکت حذف کنید:

class Person:
   name = "John"
   age = 36


>>> delattr(Person, 'age')

>>> getattr(Person, 'age')  # AttributeError

 

ویدیوهای مشابه



ارسال نظر


رضا

2 سال قبل پاسخ به نظر

سلام چرا این ویدیو اشتباه بارگزاری شده ؟
همین ویدیو دقیقا در لینک زیر هم موجود است :
https://www.mongard.ir/one_part/130/python-getattr-setattr-delattr/

عنوانی که ذکر شده در تیتر ویدیو با محتوای ویدیو یکی نیست

ارسال نظر



امیرحسین بیگدلو

2 سال قبل

سلام
مشکل حل شد

صادق

2 سال قبل پاسخ به نظر

برای کد delattr(p1,'name') خطا برای خود این خط کد هست و نه دستور print بعد از آن .
نمیدونم چرا این خطا رخ میده در حالی که همچین attribute وجود داره !

ارسال نظر



پویا

3 سال قبل پاسخ به نظر

سلام خسته نباشید ممنون بابت دوره های خوبتون برای برنامه نویسی شی گرا اگر امکان داره دوره ای باشه خوب میشه اما اگر وقت نداشتین تک قسمتی ها بیشتری ازش ضبط کنید بازم ممنون.

ارسال نظر



امیرحسین بیگدلو

3 سال قبل

سلام
برای شی گرایی میخوام یه دوره پروژه محور ضبط کنم و پکیج click رو از اول بنویسیم. اونجا شی گرایی رو خوب یاد میگیرید.

مونگارد