لين أبو شعر نشر 24 مايو 2021 أرسل تقرير نشر 24 مايو 2021 (معدل) كيف أقوم بانشاء attributes داخل person مثل per-name, per-age, per-address, and per-id واعطيهم قيم ابتدائية فارغة واصفار بلغة البايثون ؟ تم التعديل في 24 مايو 2021 بواسطة Wael Aljamal توضيح السؤال 2 اقتباس
0 محمد أبو عواد نشر 24 مايو 2021 أرسل تقرير نشر 24 مايو 2021 يمكننا انشاء كلاس اسمه person ومن ثم يمكننا تعريف المتغيرات فيه بشكل طبيعي كما نفعل عادة, لاحظي الكود التالي class Person: per_age=20 per_name="Mohammed" per_id=1 per_address="palestine" هكذا نستطيع تعريف المتغيرات, يمكننا استخدامها هكذا x = person() print(x.per_name) سوف تكون النتيحة كالتالي Mohammed اقتباس
0 Wael Aljamal نشر 24 مايو 2021 أرسل تقرير نشر 24 مايو 2021 أرجو مراجعة درس الأصناف في بايثون، فالسؤال بسيط و ليس معقد و يجب عليك حله بسهولة. علينا تعريف صنف، ثم في أول جزء نقوم بتعريف الخصائص لهذا الصنف attributes: . . الحل: class Person: per_id = 0 per_age = 0 per_name = '' per_address = '' def __init__(self): self.per_id = 0 per_age = 0 per_name = '' per_address = '' أو من خلال دالة التهيئة init (نكتفي بالجزء الأول إن لم نريد استخدام دالة بناء) بعد بناء الغرض ستكون فيم الخصائص فارغة: p = person() print(x.per_name) لاشيئ وأرجو الانتباه أنه لا يمكننا وضع إشارة الطرح "-" ضمن اسم خاصية أو متغير برمجي لأنه سيعتبرها عملية طرح بل نستبدلها بالإشارة "_" underscore وهي مقبولة في أسماء المتغيرات و الخواص... اقتباس
0 Ali Haidar Ahmad نشر 24 مايو 2021 أرسل تقرير نشر 24 مايو 2021 هذا هو الجواب الدقيق لماتطلبه أخي.. 1 اقتباس
0 ريم المهدي نشر 18 يونيو 2021 أرسل تقرير نشر 18 يونيو 2021 الطريقة الأخرى لحل هذه المشكلة هي تمرير القيم الإبتدائية في دالة الإنشاء constructor function و في حال تم إدخال بيانات عند إنشاء object من person class ستتم أخذ القيم الممررة و إسنادها مباشرة للمتغيرات، و في حال كانت لا توجد بيانات سيتم إدراج الأصفار و القيم النصية الفارغة كقيم إبتدائية. class person: def __init__(self, per_name="", per_age=0, per_address="", per_id=0): self.per_name = per_name self.per_age = per_age self.per_address = per_address self.per_id = per_id والان يمكننا إنشاء object من class person لنا الخيار في تمرير بيانات كما في المثال التالي: p = person("test",20,"test",1234) print(p.per_name,p.per_age,p.per_address,p.per_id) # test 20 test 1234 و إما أن نقوم بإنشاء object بدون أن نمرر أي قيم و في هذه الحالة سيأخذ القيم الإبتدائية في كل الأحوال: p = person() print(p.per_name,p.per_age,p.per_address,p.per_id) # 0 0 القيم المطبوعة في الفراغ لكل من متغيرات الإسم و العنوان و أصفار للرقم الشخصي و العمر. لاحظ قيامي بتحويل علامات الطرح في أسماء المتغيرات لشرطة أفقية (_) و ذلك للإلتزام بشروط التسمية في لغة بايثون. يجب أن تنتبه انه لا يوجد شرط في نوع البيانات المدخلة و الذي يجب أن تطبقه لتفادي إدخال اي بيانات نصية محل بيانات رقمية والعكس. اقتباس
السؤال
لين أبو شعر
كيف أقوم بانشاء attributes داخل person مثل per-name, per-age, per-address, and per-id واعطيهم قيم ابتدائية فارغة واصفار بلغة البايثون ؟
تم التعديل في بواسطة Wael Aljamalتوضيح السؤال
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.