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 ...
随机推荐
- (转)SVN详解
原文地址:http://www.weixingon.com/s/visualsvn+%E4%B8%AD%E6%96%87 1.几种代理管理工具的适用场景 A.如果你的项目是5-6人的小团队,那么使用V ...
- mysql 自带全文检索
对于一些简单的检索可以通过mysql自带的全文索引及 MATCH AGAINST 查询语句实现.实验步骤如下.1.建表DROP table IF exists con_video_file_des_t ...
- PHP preg_match正则表达
在php中preg_match()函数是用来执行正则表达式的一个常用的函数,下面我来给大家详细介绍preg_match使用方法. 函数用法 int preg_match_all ( string pa ...
- crtmpserver组网方案
A Powerful Live Streaming Setup 搭建强大的直播系统 Recently we had a project requiring live streaming setup, ...
- DEVICE_OBJECT结构参数
typedef struct DECLSPEC_ALIGN(MEMORY_ALLOCATION_ALIGNMENT) _DEVICE_OBJECT { CSHORT Type; USHORT Size ...
- js中给函数传参函数时,函数加括号与不加括号的区别
<!doctype html><html><head><script> function show() { alert("123") ...
- Solr 单机配置
一. 准备软件 提前安装好Java1.8和Tomcat9 下载Solr6.1,官网位置:http://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/6 ...
- ANDROID 自动生成动态表格for
简单的栗子去了解这个自动生成的动态的控件(自动生成表格) /cs-Layout/res/layout/activity_main.xml <LinearLayout xmlns:android= ...
- MBProgressHUD的基本使用
MBProgressHUD的基本使用 分类: IOS2012-10-30 11:19 12047人阅读 评论(2) 收藏 举报 和gitHub上的Demo其实差不多,就是小整理了下,当备忘,想做复杂的 ...
- KesionCMS V6.5后台拿SHELL方法
Title:KesionCMS V6.5后台拿SHELL方法 --2011-03-29 00:21 最近弄一个站点,是KesionCMS V6.5的WEB系统,试了下后台拿webshell方法,记下 ...