以前总是不明白self到底是干嘛用的,所以后面在做python+selenium UI自动化测试的时候,做了好久才稍微明白了一点。(因为我是边做边学的,总感觉只是单纯的学而没有实践,过不了几天根本不记得那些东西,就只有亲身实践才会记得住点)下面如果有写错的希望可以得到纠正,部分是参考别人觉得讲得不错的。
首先明确的是self只有在类的方法中才会有,独立的函数或方法是不必带有self的。self在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。(可以不叫self,可以是a,b其他的,只是约定俗成的设为self,便于别人看懂你的代码)
# 类里面的函数需要传入"self"
class A():
def b(self, para1):
print(para1)
# 类外面的函数不需要传入"self"
def c(para2):
print(para2)
# 调用类里面的方法,传参数时,不需要传入self
aclass=A()
aclass.b("你好")
# 调用不在类里面的函数
c("你好")