定义类;类变量、成员变量、局部变量;构造函数、类方法;实例化对象:

# -*- 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() #继承类的实例化对象调用基类的方法,方法如果没有重新,则执行基类中的方法体,如果在继承类中重写,则覆盖基类中的方法