Bạn không chuyển tên của một lớp, bạn đang truyền tham chiếu đến lớp. Một lớp là một đối tượng giống như mọi thứ khác. Hãy nghĩ về nó như một chức năng trả về một đối tượng khác. Bạn có thể truyền một lớp dưới dạng đối số giống như bạn có thể chuyển một hàm, chuỗi hoặc bất kỳ đối tượng nào khác.
Đối với những gì hàm được gọi có thể làm với nó - nó tạo ra các trường hợp của lớp đó. Trong trường hợp này, hàm được gọi không thực sự quan tâm đến lớp mà nó sử dụng, miễn là nó thực hiện một giao diện cụ thể. Vì vậy, hàm được gọi không bao giờ thấy tên của lớp, nó chỉ được nói cách tạo một thể hiện của nó [nhờ vào việc được cung cấp một tham chiếu đến lớp]
Trong trường hợp của một máy chủ, nó cần tạo một thể hiện mới của một số đối tượng cho mọi kết nối với máy chủ. Vì vậy, bạn cung cấp cho nó lớp bạn muốn nó sử dụng và nó tạo ra các phiên bản cho mỗi kết nối. Điều này cho phép máy chủ tạo các đối tượng khi nó cần chúng, thay vì yêu cầu bạn tạo chúng trước thời hạn.
class Vehicle: def __init__[self]: self.trucks = [] def add_truck[self, truck]: self.trucks.append[truck] class Truck: def __init__[self, color]: self.color = color def __repr__[self]: return "{}".format[self.color] def main[]: v = Vehicle[] for t in 'Red Blue Black'.split[]: t = Truck[t] v.add_truck[t] print[v.trucks] if __name__ == "__main__": main[]
Trong ví dụ, có hai lớp xe và xe tải, đối tượng của xe tải lớp được truyền dưới dạng tham số cho phương pháp của xe lớp. Trong phương thức chính [] đối tượng của xe được tạo. Sau đó, phương thức add_truck [] của xe lớp được gọi và đối tượng của lớp xe tải được truyền dưới dạng tham số.
Đầu ra mẫu của chương trình trên.
2020-11-17T05: 06: 09+05: 302020-11-17T05: 06: 09+05: 30Amit Aroraccothon Lập trình TutororythonPractical Solution 2020-11-17T05:06:09+05:30 Amit Arora Python Programming Tutorial Python Practical Solution
Trang chủ »Python» Chương trình Python
Ở đây, chúng tôi sẽ viết một chương trình trong Python nơi chúng tôi sẽ chuyển một đối tượng làm đối số cho một phương thức và sau đó trả về một đối tượng khác là kết quả từ phương thức. Được gửi bởi Shivang Yadav, vào ngày 19 tháng 3 năm 2021program in Python where we will pass an object as argument to a method and then return another object as
result from the method.
Submitted by Shivang Yadav, on March 19, 2021
Lớp trong Python là bản thiết kế của đối tượng sử dụng đối tượng nào được tạo.
Các đối tượng là các trường hợp của lớp trong Python có các trường và phương thức, tức là, các giá trị và các hàm liên quan.
Python cho phép các lập trình viên của nó chuyển các đối tượng cho phương thức. Và cũng trả về các đối tượng từ một phương thức. Đây là một chương trình để minh họa điều này,
Lập trình để truyền các đối tượng làm đối số và trả về các đối tượng từ chức năng
class TwoNum: def GetNum[self]: self.__x = int[input["Enter value of x : "]] self.__y = int[input["Enter value of y : "]] def PutNum[self]: print["value of x = ", self.__x,"value of y = ", self.__y, ] def Add[self,T]: R=TwoNum[] R.__x=self.__x+T.__x R.__y=self.__y+T.__y return R obj1 = TwoNum[] obj2 = TwoNum[] print["Enter values of object 1 "] obj1.GetNum[] print["Enter values of object 2 "] obj2.GetNum[] obj3 = obj1.Add[obj2] print["Values of object 1 "] obj1.PutNum[] print["Values of object 2 "] obj2.PutNum[] print["Values of object 3 [sum object] "] obj3.PutNum[]
Output:
Enter values of object 1 Enter value of x : 43 Enter value of y : 65 Enter values of object 2 Enter value of x : 34 Enter value of y : 65 Values of object 1 value of x = 43 value of y = 65 Values of object 2 value of x = 34 value of y = 65 Values of object 3 [sum object] value of x = 77 value of y = 130
Chương trình 2: Chương trình chuyển các đối tượng làm đối số và trả về các đối tượng từ chức năng toán tử
class TwoNum: def GetNum[self]: self.__x = int[input["Enter value of x : "]] self.__y = int[input["Enter value of y : "]] def PutNum[self]: print["value of x = ", self.__x,"value of y = ", self.__y, ] def __add__[self, T]: R=TwoNum[] R.__x=self.__x+T.__x R.__y=self.__y+T.__y return R obj1 = TwoNum[] obj2 = TwoNum[] print["Enter values of object 1 "] obj1.GetNum[] print["Enter values of object 2 "] obj2.GetNum[] obj3 = obj1 + obj2 print["Values of object 1 "] obj1.PutNum[] print["Values of object 2 "] obj2.PutNum[] print["Values of object 3 [sum object] "] obj3.PutNum[]
Output:
Enter values of object 1 Enter value of x : 43 Enter value of y : 65 Enter values of object 2 Enter value of x : 234 Enter value of y : 56 Values of object 1 value of x = 43 value of y = 65 Values of object 2 value of x = 234 value of y = 56 Values of object 3 [sum object] value of x = 277 value of y = 121
Các chương trình Python Class & Object »