python中类的方法和普通函数的区别就是:它们必须有一个额外的第一个参数。一般情况下该参数以self命名,也可以换成其他名字,不过会降低程序的可读性。
self代表类的实例,python会对self进行赋值,而程序员不需要对self赋值。
举个例子来说明,MyClass类实例化得到MyObject对象,当MyObject对象调用MyClass中的方法method(arg1,arg2)时,会自动变成MyObject(MyClass,arg1,arg2),这就是self的原理了。
'''
Created on 2015-1-17
@author: lzy
'''
class MyClass:
def method(self,arg1):
print arg1
MyObject = MyClass()
MyObject.method("hi,I am self")
输出结果为:<img src="https://img-blog.youkuaiyun.com/20150117211856859?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvT2xha2luZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />