python类方法的调用

class Car():
    def __init__(self,make,model,year):
        '''初始化描述汽车的属性'''
        self.make=make
        self.model=model
        self.year=year
        self.odometer_reading=0
    def get_descriptive_name(self):
        '''返回整洁的描述性信息'''
        long_name = str(self.year) + ' ' + self.make + ' ' + self.model
        return long_name.title()
    def read_odometer(self):
        print("This car has " + str(self.odometer_reading) + ' miles on it')
    def update_odometer(self,mileage):
        self.odometer_reading = mileage
        
        
my_car=Car('audi','a4',16)
print(my_car.get_descriptive_name())
my_car.update_odometer(34)
my_car.read_odometer()

 

请问一下为什么这段代码里,最后方法的调用,有的要用print,有的是用句点,而且如果用print的那行代码改成句点或者句点改成print都没办法得出正确结果,为什么呢?

一个是打印出方法return的值。 一个是直接调方法里的打印。 清晰了不

 

对类的方法的调用是用类的实例加点号后跟方法(或函数),print不是调用,只是输出函数,例中是对类的实例化对象输出结果,