python-对象方法静态方法类方法
Posted 赵小丫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-对象方法静态方法类方法相关的知识,希望对你有一定的参考价值。
#-*- coding:utf-8 -*- #本次学习:对象方法、静态方法、类方法 class SeniorTestingEngineer: #属性--只能对象来调用self.salary work_year=3 salary=15000 #行为 函数 #self对象方法 def coding(self,language,rows):#self(不能缺少)用来标记这个方法是对象方法,这个方法只能对象来调用 print(\'{0}代码一级棒,一天写{1}行代码\'.format(language,rows)) print(\'工作年限是{0},月薪是{1}\'.format(self.work_year,self.salary))#用对象来调用属性值 @staticmethod#静态方法:是类中的函数,不需要特意创建对象来调用,当然也可以创建对象调用 def do_mysql(name): print(\'数据库一级棒\') # print(\'工作年限是{0},月薪是{1}\'.format(self.work_year,self.salary))#静态方法无法调用属性值,因为没有对象,AttributeError: \'str\' object has no attribute \'work_year\' @classmethod#类方法 def do_linux(cls):#传一个类名进来 print(\'linux一级棒\') print(\'工作年限是{0},月薪是{1}\'.format(cls.work_year,cls.salary))#类方法必须用类名来调用属性值 def do_auto_testing(self): print(\'自动化测试一级棒\') #对象方法 #1.对象方法 有 self #2.对象方法可以通过对象self调用类里面的任意属性值 #3.只能由对象来调用 p1=SeniorTestingEngineer()#创建一个对象 p1.coding(\'python\',500)
#静态方法 #1.静态方法 用 @staticmethod装饰 #2.静态方法无法调用属性值,所以不会涉及到类中的方法和属性的操作 #3.什么时候用静态方法:如果一个方法跟类里面的属性没有任何关联时使用静态方法 #4.支持对象和类名直接调用 SeniorTestingEngineer.do_mysql(\'\')#静态方法,用类名.函数名调用 SeniorTestingEngineer().do_mysql(\'oracle\')#静态方法,用对象.函数名调用
#类方法 #1.类方法 用@classmethod装饰 #2.类方法可以调用类中的属性,但是必须用类名来调用属性值 #3.支持对象和类名直接调用 SeniorTestingEngineer.do_linux()#类方法,支持用类名.函数名调用 SeniorTestingEngineer().do_linux()#类方法,支持用对象.函数名调用
以上是关于python-对象方法静态方法类方法的主要内容,如果未能解决你的问题,请参考以下文章
Python高级语法-对象实例对象属性-类与实例,class方法静态方法等(4.6.1)
python 面向对象专题:私有成员类方法静态方法属性isinstance/issubclass
python 面向对象专题:私有成员类方法静态方法属性isinstance/issubclass