问答详情
源自:2-8 Python定义实例方法

为什么这个代码,输出后是<呢?

# Enter a codeclass Animal(object):    
def __init__(self,age,name,location):        
    self.__age = age        
    self.__name = name        
    self.__location = location
    
    #Defined the fuction that can get the details    
    def get_age(self):        
        return self.__age    
    def get_name(self):        
        return self.__name    
    def get_location(self):        
        return self.__location    
    def get_details(self):        
        print('name:{},age:{},location:{}'.format(self.get_name,self.get_age,self.get_location))
    
    
    #Defined the fuction that can modify the instance    
    def set_age(self,age):        
        self.__age = age    
    def set_name(self,name):        
        self.__name = name    
    def set_location(self,location):        
        self.__location = location       
    
 dog = Animal(18,'Jack','Asia')
 print(dog.get_details)


提问者:棹孤舟 2021-08-17 19:57

个回答

  • hermaniu
    2021-11-18 11:02:15

    class Animal(object):        
        def __init__(self,age,name,location):                
            self.__age = age                
            self.__name = name                
            self.__location = location     
        def get_age(self):                
            return self.__age        
        def get_name(self):                
            return self.__name        
        def get_location(self):
            return self.__location        
        def get_details(self):                
            print('name:{},age:{},location:{}'.format(self.get_name(),self.get_age(),self.get_location()))                
        def set_age(self,age):                
            self.__age = age        
        def set_name(self,name):                
            self.__name = name        
        def set_location(self,location):                
            self.__location = location           
    
    dog = Animal(18,'Jack','Asia')
    dog.get_details()


  • Sapce
    2021-09-28 21:49:55

    方法 get_details(self) 中,self.get_name,self.get_amge, self.get_location调用是属性,而并没有定义这个属性,所以打印出应该是'name:,age:,location:'才对。如果调用方法,就是少了括号

  • 棹孤舟
    2021-08-17 19:57:54

    输出后是> 不好意思 打错了