Ali Ahmed55 نشر 17 فبراير أرسل تقرير نشر 17 فبراير السلام عليكم هو ان ممكن اعرف class جوه داله def 1 اقتباس
0 Mahmoud Hassan19 نشر 17 فبراير أرسل تقرير نشر 17 فبراير (معدل) وعليكم السلام نعم، يمكنك إنشاء فئات (classes) داخل دالة (function) في لغة البرمجة Python. هذا يشمل تعريف فئة داخل جسم الدالة نفسها. ولكن يجب أن تكون هذه الفئة معرفة قبل استخدامها داخل الدالة. فيما يلي مثال بسيط: def my_function(): # تعريف الفئة داخل الدالة class MyClass: def __init__(self, name): self.name = name def display_name(self): print("Name:", self.name) # استخدام الفئة obj = MyClass("John") obj.display_name() # استدعاء الدالة my_function() في هذا المثال، تم تعريف الفئة MyClass داخل الدالة my_function. ثم تم إنشاء كائن من هذه الفئة واستخدامه داخل نطاق الدالة. مع ذلك، عادةً ما يتم تعريف الفئات على مستوى عالٍ في البرنامج وليس داخل الدوال، ولكن يمكنك تحديد متغيرات ودوال داخل الدوال بشكل طبيعي. اما اذ كنت تقصد انك تعرف def داخل class فذاللك هوا الطبيعي وهذ مثال علي ذاللك class Car:#تعريف اسم ال class def __init__(self, make, model, year): //init دالة وهو اول شي يتم داخل ال class self.make = make ## خصائص ال class self.model = model self.year = year self.is_running = False def start_engine(self): # دالة داخل class تؤدي مهما ما self.is_running = True print(f"The {self.year} {self.make} {self.model}'s engine is running.") def stop_engine(self):# وهذه دالة اخري self.is_running = False print(f"The {self.year} {self.make} {self.model}'s engine is stopped.") def honk(self): print(f"The {self.year} {self.make} {self.model} is honking!") # انشاء object من ال class my_car = Car("Toyota", "Camry", 2022) friend_car = Car("Honda", "Accord", 2021) # استدعاء defs داخل ال class my_car.start_engine() friend_car.honk() my_car.stop_engine() تم التعديل في 17 فبراير بواسطة Mahmoud Hassan19 1 اقتباس
0 ياسر مسكين نشر 17 فبراير أرسل تقرير نشر 17 فبراير بالطبع، يمكنك تعريف الكلاس (Class) داخل دالة (Function) في Python فهذا يعتبر من الأمور الممكنة في لغة Python بسبب طبيعتها الديناميكية وقابليتها للتعامل مع العديد من الهياكل المرنة، وهذا مثال ممكن على ذلك: def create_class(): class MyClass: def __init__(self, name): self.name = name def greet(self): print("Hello,", self.name) return MyClass # تعريف الكلاس باستخدام الدالة MyClass1 = create_class() obj1 = MyClass1("Yasse") obj1.greet() # سيطبع: Hello, Yasser # تعريف كلاس جديدة MyClass2 = create_class() obj2 = MyClass2("Yasser") obj2.greet() # سيطبع: Hello, Yasser ففي هذا المثال، تم تعريف الفئة `MyClass` داخل الدالة `()create_class`. ثم تم إرجاع هذه الفئة من الدالة. وعند استدعاء `()create_class`، يتم إنشاء فئة جديدة في كل مرة. وهذا ما يسمح بإنشاء عدة فئات مختلفة باستخدام نفس التعريف الأساسي. 1 اقتباس
0 عبدالباسط ابراهيم نشر 17 فبراير أرسل تقرير نشر 17 فبراير نعم، يمكن تعريف class داخل دالة في لغة Python. ومع ذلك، فإن استخدام class داخل دالة ليس شائعًا وغالبًا ما يتم تجنبه لأسباب عديدة. def outer_function(): class ClassName: def __init__(self, name): self.name = name def greet(self): print(f"Hello, {self.name}!") obj = ClassName("John") obj.greet() outer_function() 1 اقتباس
0 Ali Ahmed55 نشر 17 فبراير الكاتب أرسل تقرير نشر 17 فبراير تمام , شكراا جدا لحضرتكم طيب هنا لو سمحت انا كانت عاوز اضيف arr1 و arr2 في الداله God في الكو ده def God(lst): class Person: def __init__(self , name=None , gender=None , job=None , age=None): self.name = name self.gender = gender self.job = job self.age = age def alst(self): arr1 = [self.name , self.gender , self.job , self.age] arr2 = [self.name , self.gender , self.job , self.age] man = Person('Ali' , 'Male' , 'Programmer' , 20) woman = Person('Yomna' , 'Female' , 'Doctor' , 16) man.alst() woman.alst() God(arr1 , arr2) في السطر الاخير arr1 , arr2 مش ظهر خالص 1 اقتباس
0 Mustafa Suleiman نشر 18 فبراير أرسل تقرير نشر 18 فبراير بتاريخ 14 ساعة قال Ail Ahmed: تمام , شكراا جدا لحضرتكم طيب هنا لو سمحت انا كانت عاوز اضيف arr1 و arr2 في الداله God في الكو ده def God(lst): class Person: def __init__(self , name=None , gender=None , job=None , age=None): self.name = name self.gender = gender self.job = job self.age = age def alst(self): arr1 = [self.name , self.gender , self.job , self.age] arr2 = [self.name , self.gender , self.job , self.age] man = Person('Ali' , 'Male' , 'Programmer' , 20) woman = Person('Yomna' , 'Female' , 'Doctor' , 16) man.alst() woman.alst() God(arr1 , arr2) في السطر الاخير arr1 , arr2 مش ظهر خالص أولاً أرجو استخدام اسم دالة مناسب غير God، فالأمر ليس هين، الاسم الجديد في الشرح هو get_combined_list. ولا يتم دمج القوائم arr1 و arr2 في الدالة get_combined_list لأنك لم ترسلها كوسيطات عند استدعاء الدالة. لذا عليك، بإضافة وسيطتين جديدتين إلى الدالة get_combined_list لتلقي القوائم arr1 و arr2، وبتعديل الدالة get_combined_list لدمج القوائم arr1 و arr2 في قائمة واحدة، ثم أرسل القوائم arr1 و arr2 كوسيطات عند استدعاء الدالة. كالتالي: def get_combined_list(lst1, lst2): class Person: def __init__(self , name=None , gender=None , job=None , age=None): self.name = name self.gender = gender self.job = job self.age = age def alst(self): arr1 = [self.name , self.gender , self.job , self.age] arr2 = [self.name , self.gender , self.job , self.age] # دمج القوائم arr1 و arr2 combined_arr = arr1 + arr2 return combined_arr man = Person('Ali' , 'Male' , 'Programmer' , 20) woman = Person('Yomna' , 'Female' , 'Doctor' , 16) combined_arr = man.alst() + woman.alst() get_combined_list(combined_arr, combined_arr) أو تستطيع تعديل الدالة get_combined_list لتلقي قائمة واحدة فقط، وداخلها قم بإنشاء قائمتين جديدتين arr1 و arr2 وقم بتعبئتهما بقيم القائمة التي تم إرسالها كوسيط، ثم دمج القوائم arr1 و arr2 في قائمة واحدة. 2 اقتباس
0 Ali Ahmed55 نشر 18 فبراير الكاتب أرسل تقرير نشر 18 فبراير بتاريخ 3 ساعة قال Mustafa Suleiman: أولاً أرجو استخدام اسم دالة مناسب غير God، فالأمر ليس هين، الاسم الجديد في الشرح هو get_combined_list. حضرتك معك حق والله انا كمان قولت كده بس ده كان سوال كده من موقع codewars شكرااا جدا لحضرتك اقتباس
السؤال
Ali Ahmed55
السلام عليكم
هو ان ممكن اعرف class جوه داله def
6 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.