从面向对象的角度分析了对象,方法,类,实例,函数等的使用技巧。Python是一个完全面向对象的语言。不仅实例是对象,类,函数,方法也都是对象。
@classmethod : 类方法
@staticmethod : 静态方法
类方法和静态方法的调用一样,都是通过类就可以直接调用。
区别:类方法,需要传入该类,定义类方法的时候要传一个默认的参数cls。静态方法则不用。
参考网站:
Python中的对象,方法,类,实例,函数用法分析
http://www.jb51.net/article/59908.htmPython 是双面向的,既可以面向函数编程,也可以面向对象编程
所谓面向函数就是单独一个. py 文件,里面没有类,全是一些函数,调用的时候导入模块,通过模块名.函数名()即可调用,完全不需要类;
那么你可能会问,那要类还有什么毛用? 类就是用来面向对象编程啦,类可以有自己的属性,类可以创建很多实例,每个实例可以有不同的属性,这也就保存了很多私有的数据,总之都有存在的必要.
再来看上面这张图,在类里面定义的函数就是方法,
类方法需要@ classmethod 修饰并且有个隐藏参数 cls,
实例方法必须有个参数 self,
静态方法必须有 @staticmethod修饰,
类和实例都可以访问静态方法,
实例可以访问实例方法也可以访问类方法,
类可以访问类方法也可以访问实例方法,
访问实例方法必须要带参数 self,
可以理解为类其实也是一个实例,类访问实例方法不带参数会报错的.类本身可以访问函数,实例却不行.