Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Python—将类实例化传递给函数_Python 3.x - Fatal编程技术网

Python 3.x Python—将类实例化传递给函数

Python 3.x Python—将类实例化传递给函数,python-3.x,Python 3.x,我需要将类实例化传递给函数。 这是我到目前为止写的: def func(dog): print(dog.get_name) def main(): new_dog = dog(name, age, weight) func(new_dog) 但当我尝试执行它时,会收到以下错误消息: <bound method animal.get_name of <classes.dog object at 0x7f9611002b70> =1: 打印(“这条狗很

我需要将类实例化传递给函数。
这是我到目前为止写的:

def func(dog):
    print(dog.get_name)

def main():
    new_dog = dog(name, age, weight)
    func(new_dog)
但当我尝试执行它时,会收到以下错误消息:

<bound method animal.get_name of <classes.dog object at 0x7f9611002b70>
=1:
打印(“这条狗很危险,和它玩的时候要小心!”)
#否则它就是一只安静的狗

elif int(self.\u dlevel)我发现了真正的问题:我正在打印函数,而不是调用它。
所以我用了

def func(animal):
    print(animal.get_name())

def main():
    new_dog = dog("max", 14, 11, "dog")
    func(new_dog)

我们需要查看您定义的类,但最可能发生的情况是,
dog.name
是一个函数,这就是为什么它不打印dog的名称,而是打印函数的详细信息。@Jono2906我添加了类代码您在该代码中没有设置名称的代码。我运行了您提供的代码,它似乎起作用了——我在输出中没有看到任何关于
的内容。是的,在构造函数中:
self.name=name
def func(animal):
    print(animal.get_name())

def main():
    new_dog = dog("max", 14, 11, "dog")
    func(new_dog)