[python]
لطباعة قائمة كما هي من داخل كائن، يمكنك تخصيص طريقة __str__
أو __repr__
في الكلاس لتعريف كيفية طباعة الكائن.
إليك مثال بسيط يوضح كيفية القيام بذلك:
class MyClass:
def __init__(self, items):
self.items = items
def __str__(self):
return str(self.items)
# إنشاء كائن من الكلاس مع قائمة كخاصية
my_object = MyClass([1, 2, 3, 'apple', 'banana', 4.5, True])
# طباعة الكائن
print(my_object)
عند تنفيذ هذا الكود، ستكون النتيجة كما يلي:
[1, 2, 3, 'apple', 'banana', 4.5, True]
في هذا المثال، قمنا بتعريف دالة __str__
لتحويل الخاصية items
إلى نص باستخدام str(self.items)
. يمكننا أيضاً استخدام __repr__
بنفس الطريقة إذا أردنا التأكد من أن طباعة الكائن تتم بالطريقة التي نريدها حتى عند استخدام الدالة repr
.
إليك نسخة مع استخدام __repr__
أيضاً:
class MyClass:
def __init__(self, items):
self.items = items
def __str__(self):
return str(self.items)
def __repr__(self):
return f'MyClass({self.items})'
# إنشاء كائن من الكلاس مع قائمة كخاصية
my_object = MyClass([1, 2, 3, 'apple', 'banana', 4.5, True])
# طباعة الكائن
print(my_object) # يستخدم __str__
print(repr(my_object)) # يستخدم __repr__
النتيجة ستكون:
[1, 2, 3, 'apple', 'banana', 4.5, True]
MyClass([1, 2, 3, 'apple', 'banana', 4.5, True])
بهذه الطريقة، يمكنك التحكم بكيفية طباعة الكائن وقائمته بشكل ملائم.