Python是一门面向对象的高级语言,所以类对于Python来说非常重要。类是变量(属性/方法)单独存储的空间。运营商'。'用于调用类的属性和方法。类是一个事务类的抽象,它并不真正存在,它描述了一个事务的共性。python查找类属性时,先查找实例,再查找实例中的属性,找不到则在类内部查找。那么如何使用Python类呢?有什么好处?让我们一起仔细看看。如何使用Python类?1、在Python中,定义一个类是通过class关键字实现的:classStudent(object):Passclass后面是类名,即Student。类名通常以单词首字母大写命名,如StudentCore。(object)表示这个类继承自哪个类。如果没有合适的继承类,通常使用对象类,也就是所有类都继承的类。2、类的实例化是在类名后加括号“()”:pupil=Student()“pupil”是“student”的一个实例。所谓实例可以理解为类的化身。类不能直接使用,只能先实例化,然后用实例代表类,再调用类中的方法处理数据。那么一个实例如何表示一个类呢?在定义一个类及其方法时,有一个参数叫做self,它是串行实例和类之间的关键参数,可以简单理解为“self=实例名”。类下面是属性和方法。属性可以理解为静态数据,方法可以理解为动态处理函数。例如,在下面的代码中定义了类“Student”,其中_init_是一个属性,print_score是一个方法。–coding:utf-8-ClassStudent(object):def__init__(self,name,score):self.name=nameself.score=scoredefprint_score(self):print('%s:%s'%(自我。__name,自我。__acore))3。实例化上面的类,然后分析Python是如何使用实例化的类来调用类中的方法的。完整的实例化类及调用过程如下:pupil=student(name='lilei',score=99)pupil.print_score()根据前面的说法,self=实例名,则pupil=Student(name='lilei',score=99),实例化一个类的第一步是执行_init_语句,即Student(self='pupil',name='lilei',score=99),然后pupil.name='lilei',pupil.score=9.实例化类的第二步是执行pupil.print_score()语句。调用实例的方法就是调用类的方法,这个方法就是按照格式打印出pupil.name:pupil.score,mlilei:99。Python类的优点是什么?1.类访问限制所谓类访问限制,即类内的数据不能在类外直接调用。在Python中,在变量前加“__”可以将该变量设置为私有变量,使其只能在类中使用,不能被类外的其他函数(方法)调用。下面代码中的name参数表示一个私有变量。–coding:utf-8–_author_='N72阿姨'classStudent(object):def_init_(self,name,score):self.__name=nameself.score=scoredefprint_score(self):print('%s:%S'%(self._name,self._score))MeiMei=Student('hello',99)print(MeiMei.score)print(MeiMei.__name)代码的运行结果是一个很好的证明加了“_”的参数是不能调用的,不带“_”的参数可以直接调用,如下图:C:\Python36\python3.exeF:/Autotest_interface_demo/test.pywww.zpedu.com/it/rjyf/99Traceback(最近调用最后):文件“F:/Autotestinterfacedemo/test.py”,第12行,inprint(MeiMei._name)AttributeError:'Student'objecthasnoattribute'__name'Processfinishedwithexitcode12.类继承所谓“继承”从字面上很容易理解:如果一个类继承了另一个类,则该类拥有被继承类的所有方法和属性。这些方法和属性我们可以直接使用,不用单独写。这里有一个例子来解释什么是继承。类的基本定义如下:#–coding:utf-8–#_author_='AuntieN72'#父类Parent(object):defprint_self(self):return"我是父类"#子类继承父Class类Student(Parent):def_init_(self,name,score):self。__name=nameself.score=scoredefprint_score(self):print('%s:%s'%(self.__name,self.__score))MeiMei=Student('你好',99)print(MeiMei.score)#在子类中直接使用父类方法print(MeiMei.print_self()在上面的例子中,子类Student继承了父类Parent。方法是在类名后的括号中加上父类的名字。子类继承父类,然后有父类Parent的方法print_self,这样可以直接在自己的实例名中使用3.类多态性如果子类继承了父类,但是想改变方法父类的,那么此时就不需要修改父类的方法,只需要在子类中添加相同的方法名就可以起到覆盖的作用,这就是多态。#-coding:utf-8–#_author_='AuntieN72'#父类Parent(object):defprint_self(self):return"我是父类"#childclass继承父ClassclassStudent(Parent):def_init_(self,name,score):self。__name=nameself.score=scoredefprint_score(self):print('%s:%S'%(self._name,self.__score))defprint_self(self):return”我是一个子类”MeiMei=Student('hello',99)print(MeiMei.score)#子类的方法覆盖父类的方法print(MeiMei.print_self())
