定义类;类变量、成员变量、局部变量;构造函数、类方法;实例化对象:
# -*- coding: utf-8 -*- ''' Created on 2019-6-25 @author: adminstrator ''' class ClassTest(object): ''' 定义一个类 ''' count=0 #类中定义的变量,叫类变量,也叫全局变量 def __init__(self, params,x,y): ''' 构造函数,把类赋给一个实例化对象的时候,即实例化类的时候,就会执行,其中params参数可以去掉 ''' print('执行构造函数,参数为:'+params) self.x=x #在类的构造函数内以self.开头来定义的,叫实例变量(成员变量) self.y=y self.fuc(self.x,self.y) def countNumber(self,num1,num2): ''' 类中的方法,叫做类方法,定义在外面叫函数 ''' num3=num1+num2 #定义在方法中的变量叫局部变量 print(num3) self.count=self.count+1 def fuc(self,a,b): self.varc=a #成员变量,他们在类方法fuc()中定义,但是在构造函数中调用了fuc() self.vard=b def outPut(self): print(self.count) # print(num3) #局部变量无法在方法外使用 if __name__ == '__main__': ctopr=ClassTest('Hello',1,2) #类的实例对象 ctopr.countNumber(10, 20) #实例化对象可以调用类方法 print('调用成员变量count=',ctopr.count) #实例化对象调用类变量 ctopr.outPut()
类继承、方法重写、私有变量、私有方法:
# -*- coding: utf-8 -*- ''' Created on 2019-6-26 @author: adminstrator ''' from src.ClassTest import ClassTest #引入基类 class ClassTestTwo(ClassTest): ''' 类继承演示 ''' __privateNum=10 #在类中定义私有变量,以两个下划线开头,类的私有变量只能在类中使用,使用时以self.调用 def __init__(self, params, x, y): ''' 继承基类的构造函数 ''' super().__init__(params, x, y) def __changePrivateNum(self): ''' 定义私有方法,以2个下划线开头,带有self参数 ''' self.__privateNum=self.__privateNum+1 print('通过私有方法改变后的私有变量的值是:',self.__privateNum) def outPut(self): ''' 把基类中的方法重新 ''' print('I am in ClassTestTwo' ) print('类的私有变量值为:',self.__privateNum) #调用类的私有变量 self.__changePrivateNum() #调用类的私有方法 def divOper(self,num1,num2): num6=0 if num2==0: return num6 else: num6=num1/num2 return num6 if __name__ == "__main__": cttpor=ClassTestTwo('world',2,3) print('12除3的值是:',cttpor.divOper(12, 3)) cttpor.count #继承类的实例化对象调用基类的类变量 cttpor.outPut() #继承类的实例化对象调用基类的方法,方法如果没有重新,则执行基类中的方法体,如果在继承类中重写,则覆盖基类中的方法