类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称, 按照惯例它的名称是 self。
class Test:
def prt(self):
print(self)
print(self.__class__)
t = Test()
t.prt()
class Test:
def prt(runoob):
print(runoob)
print(runoob.__class__)
t = Test()
t.prt()
这里的self和runoob的作用是一样的。
原来的问题是:怎么区分类中函数和非类中的函数,我怎么知道这第一个参数指的是谁:是self,还是我传进来的参数。经过实践可知:
和人家例子一样,没毛病
我想让这个r是我传进来的参数,出错了,说是只能有一个参数,但是我给了两个,也就是说我这个12算是第二个参数。行呢,大概明白了:在类中的参数,第一就是默认指的是,指向类的参数self,想要传啥再从后面加
普通函数没这个self默认的。
这会可以顺利的传参数了。
然后有突发奇想,握草,这回有意思了,这是咋回事,我也不知道,
行吧,这最后一个其实牵扯到了静态函数,传送门:讲的挺清楚的