脚本宝典收集整理的这篇文章主要介绍了Python方法(二) - 类与继承,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
类定义
类的属性
-
访问
-
内置类属性
__dict__ : 类的属性(包含一个字典,由类的数据属性组成)
__doc__ :类的文档字符串
__name__: 类名
__module__: 类定义所在的模块(类的全名是'__main__.classname',如果类位于一个导入模块mymod中,那么className.__module__ 等于 mymod)
_bases__ : 类的所有父类构成元素(包含了一个由所有父类组成的元组)
-
类的专有方法
在类地内部,使用def关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数self,且为第一个参数
__inIT__ 构造函数,在生成对象时调用
__del__ 析构函数,释放对象时使用
__rePR__ 打印,转换
__setitem__按照索引赋值
__getitem__按照索引获取值
__len__获得长度
__cmp__比较运算
__call__函数调用
__add__加运算
__sub__减运算
__mul__乘运算
__div__除运算
__mod__求余运算
__pow__称方
-
类的封装
python通过变量名命名来区分属性和方法的访问权限,默认权限相当于c++和java中的public
类的私有属性: __private_attrs:两个下划线开头,声明该属性为私有,不能在类地外部被使用或直接访问。在类内部的方法中使用时self.__private_attrs。
类的私有方法:__private_method:两个下划线开头,声明该方法为私有方法,不能在类地外部调用。在类的内部调用 self.__private_methods
虽然python不允许实例化的类访问私有数据,但可以使用 object._className__attrName 访问属性。
其实python内部私有化的实现只是将attrName属性变为了_className__attrName而已
-
类的继承
面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制。继承完全可以理解成类之间的类型和子类型关系。
需要注意的地方:继承语法 class 派生类名(基类名)://... 基类名写作括号里,基本类是在类定义的时候,在元组之中指明的。
在Python中继承中的一些特点:
1:在继承中基类的构造(__init__()方法)不会被自动调用,它需要在其派生类的构造中亲自专门调用。使用suPEr().__init__()或parentClassName.__init__()
2:在调用基类的方法时,需要加上基类的类名前缀,且需要带上self参数变量。区别于在类中调用普通函数时并不需要带上self参数
3:Python总是首先查找对应类型的方法,如果它不能在派生类中找到对应的方法,它才开始到基类中逐个查找。(先在本类中查找调用的方法,找不到才去基类中找)。
如果在继承元组中列了一个以上的类,那么它就被称作"多重继承" 。
多态
以上是脚本宝典为你收集整理的Python方法(二) - 类与继承全部内容,希望文章能够帮你解决Python方法(二) - 类与继承所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。