Python3.2官方文档翻译--继承
6.5 继承
当然,一门语言特性假设不支持继承那么名称类就失去了价值。子类继承父类的方法例如以下:
class DerivedClassName(BaseClassName):
<statement-1>
.
.
.
<statement-N>
名称BaseClassName必须定义在一个包括派生类定义的作用域中。在基类名称的位置上,其它任意表达式都是同意的、比如,当基类定义在其它模块中,这也是可用的。
class DerivedClassName(modname.BaseClassName):
派生类的运行过程和父类运行过程是同样的。当类对象构造好后,基类就被记住了。这为了解决属性引用问题:假设一个请求的属性在类中没有发现,程序就会搜素它的基类。假设基类它本身也是从其它类派生而来,那么就系继续搜素。
对派生类的实例化没有特别之处。DeriverdClassName()创建了一个类的新实例。方法引用依照例如以下使用:相应的类属性能够被搜索的,假设须要就会继续在基类中查询。假设这指向函数对象,则方法引用是合法的。
派生类能够重写基类的方法。由于当调用同对象的其它方法时候,方法没有特殊的权限。调用定义在同一基类的该基类方法可能终止派生类方法的覆盖。(对于C++程序猿来说,在python中全部的方法都是有效虚拟的)
在派生类中一个重写方法其实想扩展方法,而不是简单的取代同名的基类方法。最简单直接调用基类的方法就是用: BaseClassName.methodname(self, arguments)。这个对客户也很有空。(注意,假设基类在全局作用域中和BaseClassName都能够訪问, 这样的方法才有效)
Python有两种实现继承的内置函数:
方法一: 用isinstance()方法来检查实例类型:仅仅有obj._class_is 是整型或者其它从int继承的类,isinstance(obj, int)才会返回真。
方法二: 用issubclass()方法来检查类继承:issubclass(bool, int)结果是真得,由于bool是int的一个子类。可是issubclass(float, int)是假的由于float不是int的子类。
Python3.2官方文档翻译--继承的更多相关文章
- Python3.2官方文档翻译--作用域和命名空间
6.2 Python作用域和命名空间 在介绍类之前.首先我想告诉你一些关于python作用域的规则. 类的定义很巧妙地运用了命名空间,你须要知道范围和命名空间的工作原理以能全面了解接下来发生的. 顺便 ...
- Python3.2官方文档翻译--实例对象和方法对象
6.3.3 实例对象 如今我们用实例对象做什么呢?实例对象唯一可用的操作就是属性引用.如今有两种合法的属性名称:数据属性和方法. 数据属性相当于smallTalk中的实例变量,C++中的数据成员.数据 ...
- Python3.2官方文档翻译--标准库概览(一)
7.1 操作系统接口 Os模块提供主要很多与操作系统交互的函数. >>> import os >>> os.getcwd() # Return the curren ...
- Python3.2官方文档翻译--迭代器
6.9 迭代器 到眼下为止.你可能已注意到很多容器对象都能够用for语句进行循环: 这样的訪问风格清楚简洁方便. 迭代器的应用是python遍历统一.在这样的场景背后.for语句调用容器对象iter( ...
- Python3.2官方文档翻译--输出格式化
第八章 标准库二 第二部分涵盖了很多更能满足专业开发者需求的高级模块.这些模块在小脚本中非常少出现. 8.1 输出格式化 Reprlib模块为大型的或深度嵌套的容器缩写显示提供了repr()函数的一个 ...
- Python3.2官方文档翻译--作用域和命名空间实例
6.2.1 作用域和命名空间实例 以下的实例主要用来示范怎样引用不同的作用域和命名空间,keywordglobal和nonlocalru怎样影响变量绑定. 实例执行结果是: After local a ...
- Flume官方文档翻译——Flume 1.7.0 User Guide (unreleased version)中一些知识点
Flume官方文档翻译--Flume 1.7.0 User Guide (unreleased version)(一) Flume官方文档翻译--Flume 1.7.0 User Guide (unr ...
- GreenDao官方文档翻译(上)
笔记摘要: 上一篇博客简单介绍了SQLite和GreenDao的比较,后来说要详细介绍下GreenDao的使用,这里就贴出本人自己根据官网的文档进行翻译的文章,这里将所有的文档分成上下两部分翻译,只为 ...
- Retrofit官方文档翻译
Retrofit官方文档翻译 官方文档网址 http://square.github.io/retrofit/ 介绍 Retrofit 将你的 HTTP API 转换为 Java 接口. public ...
随机推荐
- LINQ简明教程:数据排序、分组、过滤
LINQ可以对很多数据源进行查询操作,比如数据库.数组(array).链表(list).XML文件等.在本文中,我将从数组中提取数据,这些数据是10个最受欢迎的国家.有一个类叫Countries,有c ...
- IOS开发,如何用最新的Itunes给手机装ipa文件
搜了半天,发现网上的很多教“使用Itunes给手机装ipa文件”文字都好几年了,现在的Itunes跟过去几年的功能和界面都有很大改变,话不多说直接两句话讲明白,希望帮到需要的人. 使用Itunes给手 ...
- 如何修改TextField的Label和EmptyText
在需求中常常有修改form表单的标签和空文本提示,在渲染后组件有些字符固定下来 除非使用document进行原始修改,通过查询stackflow,我介绍更方便方法 模拟场景:点击ChangeLabel ...
- 'Invalid update: invalid number of rows in section xx. The number of rows contained in an existing section after the update (xxx)...
'Invalid update: invalid number of rows in section 5. The number of rows contained in an existing s ...
- 学习OpenSeadragon之四(导航视图)
OpenSeadragon介绍以及上手:学习OpenSeadragon之一 OpenSeadragon主要用于地图.医学图像等需要放大缩小分层显示的图像显示. 1.简单例子 导航视图就是在一个小框中显 ...
- Web前端浏览器兼容初探
浏览器兼容是前端开发人员必须掌握的一个技能,但是初入前端的同学或者其他后台web开发同学往往容易选择忽略,而形成两个极端: 1 我最开始都是使用IE6,IE6上没问题,其它浏览器坑爹(多出现与前端后端 ...
- php 编译安装选项
./configure --prefix=/usr/local/php/ --with-config-file-path=/etc/php5/cli/ --with-config-file-scan- ...
- 微软office MIME类型
后缀 MIME 類型 .docx application/vnd.openxmlformats-officedocument.wordprocessingml.document .docm app ...
- Java内部类和外部类的通信探索
1.内部类访问外部类的成员和方法 在内部类中,可以无障碍地访问外部类的所有成员和方法. 在下面的实验代码中,可以看到,内部类sl可以访问外部类的私有成员:sz 和 cur. 同时可以访问私有方法:pr ...
- Python 改变当前工作目录
在shell里编辑: import os os.getcwd() #取得当前工作目录 os.chdir(r'目标目录') # os.chdir(r'd:\learnpy')