1 # coding=utf-8 2 3 class ClassA (object): 4 string1 = "这是一个字符串。" 5 6 def instancefunc(self): 7 print ('这是一个实例方法。') 8 print ('selef的值为:', self) 9 10 @classmethod 11 def classfunc(cls): 12 print ('这是一个类方法。') 13 print ('cls的值为:',cls) 14 15 @staticmethod 16 def staticfun(): 17 print ('这是一个静态方法。') 18 19 20 test = ClassA () # 初始化一个ClasssA的对象,test是类ClassA的实例对象 21 test.instancefunc () # 对象调用实例方法 22 23 test.staticfun () # 对象调用静态方法 24 25 test.classfunc () # 对象调用类方法 26 27 print (test.string1) # 对象调用类变量 28 29 ClassA.instancefunc (test) # 类调用实例方法,需要带参数,这里的test是一个对象参数 30 ClassA.instancefunc (ClassA) # 类调用实例方法,需要带参数,这里的ClassA是一个类参数 31 ClassA.staticfun () # 类调用静态方法 32 ClassA.classfunc () # 类调用类方法
1 # coding=utf-8 2 3 class ClassA (object): 4 string1 = "这是一个字符串。" 5 6 def instancefunc(self): 7 print ('这是一个实例方法。') 8 print ('selef的值为:', self) 9 10 @classmethod 11 def classfunc(cls): 12 print ('这是一个类方法。') 13 print ('cls的值为:',cls) 14 15 @staticmethod 16 def staticfun(): 17 print ('这是一个静态方法。') 18 19 20 test = ClassA () # 初始化一个ClasssA的对象,test是类ClassA的实例对象 21 test.instancefunc () # 对象调用实例方法 22 23 test.staticfun () # 对象调用静态方法 24 25 test.classfunc () # 对象调用类方法 26 27 print (test.string1) # 对象调用类变量 28 29 ClassA.instancefunc (test) # 类调用实例方法,需要带参数,这里的test是一个对象参数 30 ClassA.instancefunc (ClassA) # 类调用实例方法,需要带参数,这里的ClassA是一个类参数 31 ClassA.staticfun () # 类调用静态方法 32 ClassA.classfunc () # 类调用类方法
备注:
主要有以下几点内容
1. 类的定义,class开头的就表示这是一个类,小括号里面的,表示这个类的父类,涉及到继承,默认object是所有类的父类。
python中定义类,小括号内主要有三种:1. 具体一个父类,2. object 3. 空白
2. 函数或方法的定义, def开头就表示定义一个函数,方法包括,实例方法,类方法,静态方法,注意看类方法和静态方法定义的时候上面有一个@标记。
3. 对象调用方法和类调用方法的使用。
以下用百度搜索举例,模仿上面用类调用实例的方法来写这个脚本,注意这里self指的是当前BaiduSearch这个类本身: