零基础入门python37讲动动手第一题,关于对象方法的self问题。
return self.exp*self.inc*self.discount*num
中calcprice方法,为什么用num而不用self.num,self到底什么时候用什么时候不用啊望大神解答谢谢了
因为没有必要将num作为类的一个成员 self.num表明num是该类的一个成员,在类中可以这么写,在类外需通过对象名.num访问
在上面Ticket中并没有定义num这个成员,calcPrice函数中写num是因为num为传入的参数 只要是属于了的成员都可以用self,此题中的num是函数的参数,不属于累的成员 slef的作用是绑定类的实例对象,让python知道是哪一个实例对象调用该类的方法,它作为第一个参数传给该方法,后面的参数都是属于该方法的,所以不需要self.num
页:
[1]