پرسش

آیا تابع داخلی برای چاپ تمام خصوصیات و مقادیر فعلی یک شیء در پایتون وجود دارد؟

Is there a built-in function to print all the current properties and values of an object in Python?

آیا در پایتون تابع داخلی وجود داره که بتونه تمام خصوصیات و مقادیر فعلی یک شیء رو چاپ کنه؟ مثلاً وقتی یک کلاس تعریف می‌کنیم و شیء از اون می‌سازیم، چطوری می‌تونیم به راحتی تمام ویژگی‌های اون شیء و مقادیرش رو ببینیم؟

1403/06/03
پاسخ
رضا دولتی عاشق برنامه نویسی و هوش مصنوعی!
بیوگرافی رضا دولتی

در پایتون برای اینکه بتونی تمام خصوصیات و مقادیر فعلی یک شیء رو ببینی، می‌تونی از تابع vars() یا __dict__ استفاده کنی. این تابع‌ها به تو دیکشنری‌ای رو می‌دهند که شامل تمام خصوصیات و مقادیر شیء هست.

مثال:

class MyClass:
    def __init__(self):
        self.name = "Reza"
        self.age = 28
        self.language = "Python"
# Creating an instance of MyClass
obj = MyClass()
# Printing all properties and their values
for key, value in vars(obj).items():
    print(f"{key}: {value}")
# Using __dic__
for key, value in obj.__dict__.items():
    print(f"{key}: {value}")

در مثال بالا، vars(obj) دیکشنری‌ای از تمام ویژگی‌ها و مقادیر شیء obj برمی‌گردونه

اگر شیء ای که می‌خوای خصوصیاتش رو ببینی از کلاس پایه پایتون مثل int یا list نیست، می‌تونی از این روش استفاده کنی.

پاسخ: 1403/06/03
آخرین آپدیت: 1403/07/29