开个丸笑 发表于 2018-1-21 18:55:30

零基础入门python37讲动动手第一题,关于对象方法的self问题。


return self.exp*self.inc*self.discount*num
中calcprice方法,为什么用num而不用self.num,self到底什么时候用什么时候不用啊望大神解答谢谢了

BngThea 发表于 2018-1-21 18:55:31

因为没有必要将num作为类的一个成员

jewen 发表于 2018-1-21 19:20:39

self.num表明num是该类的一个成员,在类中可以这么写,在类外需通过对象名.num访问
在上面Ticket中并没有定义num这个成员,calcPrice函数中写num是因为num为传入的参数

pengzhenrong 发表于 2018-1-24 11:15:19

只要是属于了的成员都可以用self,此题中的num是函数的参数,不属于累的成员

香芋仔 发表于 2018-1-26 08:41:28

slef的作用是绑定类的实例对象,让python知道是哪一个实例对象调用该类的方法,它作为第一个参数传给该方法,后面的参数都是属于该方法的,所以不需要self.num
页: [1]
查看完整版本: 零基础入门python37讲动动手第一题,关于对象方法的self问题。