博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python方法(二) - 类与继承
阅读量:5947 次
发布时间:2019-06-19

本文共 1546 字,大约阅读时间需要 5 分钟。

类定义

  • 类对象:创建一个类之后,可以通过类名访问、改变其属性、方法
  • 实例对象:类实例化后,可以使用其属性,可以动态的为实例对象添加属性(类似javascript)而不影响类对象。

类的属性

  • 访问

    • getattr(obj, name[, default]) : 访问对象的属性
    • hasattr(obj,name) : 检查是否存在一个属性
    • setattr(obj,name,value) : 设置一个属性。如果属性不存在,会创建一个新属性
    • delattr(obj, name) : 删除属性
  • 内置类属性

    __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总是首先查找对应类型的方法,如果它不能在派生类中找到对应的方法,它才开始到基类中逐个查找。(先在本类中查找调用的方法,找不到才去基类中找)。   如果在继承元组中列了一个以上的类,那么它就被称作"多重继承" 。
  • 多态

转载地址:http://eqbxx.baihongyu.com/

你可能感兴趣的文章
Firefox 密码管理器 Lockbox 推出 Android 版
查看>>
视频点播-资源用量
查看>>
好程序员分享大势所趋 HTML5成Web开发者最关心的技术 ...
查看>>
北汽集团荣辉:抓不住自动驾驶 就抓不住车企的命脉 | 自动驾驶这十年 ...
查看>>
豆瓣评分8.8,这本程序员案头必备宝典,10年沉淀,新版再现 ...
查看>>
运行 Spring Boot 应用的 3 种方式!
查看>>
【内容安全】虚拟化及云环境下数据库审计优缺点分析
查看>>
crmeb电商系统
查看>>
xttprep.tmpl
查看>>
mycat垂直分库
查看>>
无需停机,手把手教您将 Docker CE 切换为 Docker EE
查看>>
Ubuntu 14.04 Web服务器,Apache的安装和配置
查看>>
MaxCompute 图计算用户手册(上)
查看>>
自带科技基因,打造纯原创IP,“燃烧小宇宙”获数千万A轮融资
查看>>
未能加载文件或程序集"Newtonsoft.Json, Version=4.5.0.0
查看>>
C#多线程编程系列(二)- 线程基础
查看>>
Jenkins 内置变量(学习笔记二十四)
查看>>
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 13 章 并发控制_13.2. 事务隔离
查看>>
虚拟机概念
查看>>
【云周刊】第195期:全球首家!阿里云获GNTC2018 网络创新大奖 成唯一获奖云服务商...
查看>>