12

如何将对象作为参数传递给类方法并在调用类方法时调用传递对象的方法?

说我有:

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


anobject = blah.xyz()

another_obj = myclass()
another_obj.myfunc(anobject)
4

3 回答 3

12

只要something有一个.do方法,它就应该按照给定的方式工作(一旦你修复了你的缩进和声明顺序)。你试过运行它吗?

这(或多或少)是许多标准函数的工作方式 - 例如,内置len函数几乎

def len(obj):
    return obj.__len__()
于 2012-07-14T01:00:40.397 回答
0

你想调用过去对象的哪个方法?

顺便说一下,myfunc是一个实例方法。

于 2012-07-14T01:01:38.067 回答
-5
class student :
 ID=0
 name=""

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


st=student()
fun(st)
于 2017-07-16T19:22:55.883 回答