python第五章课后习题(3)

执行以下代码,找到异常的位置和原因,并进行修正,只有一处错误。

class Dog(object):
    def __init__(self,name):
        self.__name = name
    
    @property
    def name(self):
        return self.__name
    
def get_name(dog):
    return dog.name()
get_name(Dog("MaoQiu"))

首先运行一下,发现错误的原因是str类型不可调用
但是看了代码之后,发现代码使用了装饰器将函数进行封装,所以可以直接调用属性,不需要调用name函数,因此,将get_name函数中返回改成dog.name就行,直接返回属性

class Dog(object):
    def __init__(self,name):
        self.__name = name
    
    @property
    def name(self):
        return self.__name
    
def get_name(dog):
    return dog.name
get_name(Dog("MaoQiu"))

猜你喜欢

转载自blog.csdn.net/qq_53029299/article/details/114684678
今日推荐