Abdelrehman Elsied نشر 18 أغسطس أرسل تقرير نشر 18 أغسطس السلام عليكم ورحمة الله وبركاته ما وظيفة هذا التابع في البايثون. def __str__(): pass 2 اقتباس
0 Mustafa Suleiman نشر 18 أغسطس أرسل تقرير نشر 18 أغسطس إحدى الدوال السحرية في بايثون والتي تسمى Magic أو Dunder Methods وهي خاصة بالكلاسات، وتلك الدالة وظيفتها تحديد كيف يظهر الكائن عند تحويله إلى نص أو عند طباعته بصيغة سهلة ومفهومة للمستخدم العادي. بمعنى تفقد التالي بدون str: class Book: def __init__(self, title, author): self.title = title self.author = author book = Book("مقدمة ابن خلدون", "ابن خلدون") print(book) حيث يتم تنفيذ الكود الموجود داخل __str__ تلقائياً في الحالات التالية: عند استخدام دالة الطباعة: print(Car) عند تحويل الكائن لنص صراحة: str(Car) داخل نصوص التنسيق (f-strings): مثل f"النتيجة: {Car}" لكن المعامل self داخل الصنف يجب أن يستقبل التابع المعامل self على الأقل: def __str__(self): ويجب أن يعيد التابع قيمة نصية عبر return حصراً، وإلا سيحدث خطأ أي لا يكفي وضع pass. class Book: def __init__(self, title, author): self.title = title self.author = author def __str__(self): return f"كتاب '{self.title}' للكاتب {self.author}" book = Book("مقدمة ابن خلدون", "ابن خلدون") print(book) اقتباس
0 Chihab Hedidi نشر 18 أغسطس أرسل تقرير نشر 18 أغسطس التابع __str__ في لغة بايثون وظيفته الاساسية هي تحديد كيف سيظهر الكائن عند تحويله الى نص او عند طباعته، فبدلا من ان تظهر معلومات تقنية عن مكان الكائن في الذاكرة، يمكنك استخدام هذا التابع لارجاع وصف نصي واضح يسهل عليك فهم محتويات الكائن. عندما تستدعي print او str على الكائن، يقوم بايثون بالبحث عن هذا التابع داخل class الخاص بك وتنفيذه، ويجب ان تضعه داخل class وياخذ parameter يسمى self، كما يجب ان ينتهي دائما بجملة return ترجع قيمة نصية كما في هذا المثال. class MyClass: def __str__(self): return "وصف الكائن هنا" اقتباس
0 عبدالباسط ابراهيم نشر 18 أغسطس أرسل تقرير نشر 18 أغسطس وعليكم السلام ورحمة الله وبركاته, ببساطة التابع __str__ وظيفته تحديد التمثيل النصي للكائن عندما يتم تحويله إلى نص، بمعنى عند استخدام الدالة str() أو print() . وللتوضيح أكثر إليك المثال التالي class Person: def __init__(self, name, age): self.name = name self.age = age def __str__(self): return f"الاسم: {self.name}, العمر: {self.age}" p = Person("أحمد", 25) print(p) # سيطبع: الاسم: أحمد, العمر: 25 اقتباس
السؤال
Abdelrehman Elsied
السلام عليكم ورحمة الله وبركاته
ما وظيفة هذا التابع في البايثون.
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.