Hướng dẫn passing object as argument in python - truyền đối tượng dưới dạng đối số trong python

Làm thế nào tôi có thể chuyển một đối tượng làm đối số cho một phương thức lớp và gọi phương thức của đối tượng được truyền khi phương thức lớp được gọi?

Nói tôi có:

class myclass:
    def __init__(self):
        pass
    def myfunc(self, something):
        something.do()


anobject = blah.xyz()

another_obj = myclass()
another_obj.myfunc(anobject)

Hướng dẫn passing object as argument in python - truyền đối tượng dưới dạng đối số trong python

hỏi ngày 14 tháng 7 năm 2012 lúc 0:57Jul 14, 2012 at 0:57

2

Miễn là something có phương pháp .do, điều đó sẽ hoạt động như đã đưa ra (một khi bạn sửa chữa vết lõm và thứ tự khai báo). Bạn đã thử chạy nó chưa?

Đây là (ít nhiều) làm thế nào nhiều chức năng tiêu chuẩn hoạt động - ví dụ, chức năng len tích hợp

def len(obj):
    return obj.__len__()

Đã trả lời ngày 14 tháng 7 năm 2012 lúc 1:00Jul 14, 2012 at 1:00

Hugh Bothwellhugh BothwellHugh Bothwell

53,9K7 Huy hiệu vàng81 Huy hiệu bạc98 Huy hiệu Đồng7 gold badges81 silver badges98 bronze badges

Bạn muốn gọi phương pháp nào của đối tượng trong quá khứ?

Nhân tiện,

def len(obj):
    return obj.__len__()
0 là một phương thức thể hiện.

Đã trả lời ngày 14 tháng 7 năm 2012 lúc 1:01Jul 14, 2012 at 1:01

MrabmrabMRAB

Huy hiệu vàng 20k5 38 Huy hiệu bạc31 Huy hiệu đồng5 gold badges38 silver badges31 bronze badges

1

class student :
 ID=0
 name=""

def fun(s=student()):
  print (s.id)
  print (s.name)


st=student()
fun(st)

Đã trả lời ngày 16 tháng 7 năm 2017 lúc 19:22Jul 16, 2017 at 19:22

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 »



Bạn có thể chuyển một đối tượng như một đối số?

Để truyền một đối tượng làm đối số, chúng tôi viết tên đối tượng làm đối số trong khi gọi hàm giống như cách chúng tôi thực hiện cho các biến khác. Cú pháp: function_name (object_name); Ví dụ: Trong ví dụ này, có một lớp có biến số nguyên 'A' và hàm 'thêm' lấy một đối tượng làm đối số.. Syntax: function_name(object_name); Example: In this Example there is a class which has an integer variable 'a' and a function 'add' which takes an object as argument.

Làm thế nào để bạn vượt qua một đối tượng bằng cách tham khảo trong Python?

Python sử dụng một hệ thống, được gọi là Call Call by the Object tham khảo đối tượng hoặc cuộc gọi của người khác. Trong trường hợp bạn chuyển các đối số như toàn bộ số, chuỗi hoặc bộ dữ liệu cho một hàm, việc vượt qua giống như giá trị cuộc gọi vì bạn không thể thay đổi giá trị của các đối tượng bất biến được truyền đến hàm.Call by Object Reference” or “Call by assignment”. In the event that you pass arguments like whole numbers, strings or tuples to a function, the passing is like call-by-value because you can not change the value of the immutable objects being passed to the function.

Khi một đối tượng được truyền bởi giá trị như một đối số?

Truyền theo giá trị có nghĩa là một bản sao của giá trị của tham số thực tế được thực hiện trong bộ nhớ, tức là người gọi và callee có hai biến độc lập có cùng giá trị.Nếu Callee sửa đổi giá trị tham số, hiệu ứng không thể nhìn thấy đối với người gọi.Tổng quan: Chuyển một đối số theo giá trị.a copy of the actual parameter's value is made in memory, i.e. the caller and callee have two independent variables with the same value. If the callee modifies the parameter value, the effect is not visible to the caller. Overview: Passes an argument by value.

Làm thế nào để bạn chuyển một đối tượng từ lớp này sang lớp khác trong Python?

Phương pháp tĩnh: Phương thức tĩnh là một phương thức [hàm thành viên] hoàn toàn không sử dụng đối số.Để khai báo một phương thức tĩnh, hãy tiến hành câu lệnh của câu lệnh @staticmethod.Việc truy cập các thuộc tính và phương thức của một lớp trong một lớp khác được thực hiện bằng cách chuyển đối tượng của một lớp này sang lớp khác.Accessing attributes and methods of one class in another class is done by passing the object of one class to another.