builtins 内建模块 / builtins Module 在Python的模块中,有一种特殊模块,无需导入便可以使用,其中包含了许多内建函数与类. builtins 模块内容 / builtins Content 通过对 builtins 模块的导入(也可使用 __builtins__ 代替),可以利用 pdir 模块查看内部的函数与类及异常等. pdir 模块是一个用于查看模块内部所有函数.类等信息的模块,安装方式为: pip install pdir2 具体使用方式也十分简单, imp…
内建类与内建函数的区分 / Distinction of Built-in Type and Function 对于 Python,有许多可以不需要定义或引用就可以使用的函数(类)(参考内建模块),诸如 abs, sum 等计算函数,以及 chr, bin, hex 等类型转换函数 (参考内建函数),还有一种,使用方式与函数极为类似,但却是 type 类型的内置类(非官方名称),例如 int,float 等.这些内置类实质上是一个用于生成类(实例)的类(参考元类的概念),通过传入的参数,返回一个…
内建类 bytes 和 bytearray / Built-in Type bytes and bytearray 关于内建类 Python的内建类 bytes 主要有以下几点: class bytes([source[, encoding[, errors]]]) Return a new “bytes” object, which is an immutable sequence of integers in the range 0 <= x < 256. bytes is an immu…
内建类 super / Built-in Type super 关于内建类 对于 super 可以从官方文档中看到基本介绍,super 接收一个类,以及类或类的实例,最终返回一个代理对象的实例.而 MRO 搜索也将被用在 super(同 getattr)上,因此 super 调用的不一定是父类的方法,而有可能是 sibling 的方法.还有一点值得注意的是,当传入的第二个参数被省略时,则返回的 super 对象未绑定,若有第二个参数,则第二个参数必须是第一个参数的实例或子类.官方文档对于 sup…
内建类map / Built-in Type map 关于内建类 map 是一个内建的类,能够返回一个 map 的 obj.map 的第一个参数为一个可执行函数,后续参数均为可迭代对象,map 会分别迭代后续参数并传给可执行函数,并将结果保存. def foo(a, b, c): return a+b+c print(list(map(foo, range(4), range(4), range(4)))) 上面的代码输出结果为 [0, 3, 6, 9] Note: 在 Python2 中,由于…
通过使用prototype在继承内建类特性的同时加入新方法 Array.prototype.removeElement = function (item:*):void { var index:int = this.indexOf(item); if(index>-1){ this.splice(index,1); } } var arr:Array = [1,2,3]; arr.removeElement(1); trace(arr);//2,3…
类实例方法.私有方法和抽象方法 Python中最常用的就是类实例方法,类似于属性中的类实例属性,同时,也存在与私有属性类似方法,即私有方法,下面介绍这两种常见的方法,以及一种特殊意义的类实例方法 -- 抽象方法. 类实例方法 / Instance Method 类实例方法通过关键字 def 进行定义,第一个参数默认为 self,可利用 self / 类实例 对方法进行调用,是最基本的一种方法 class Foo(object): def foo(self): print("This is foo…
类的特殊属性 / Special Property of Class Python 中通过 class 进行类的定义,类可以实例化成实例并利用实例对方法进行调用. 类中还包含的一些共有的特殊属性. 特殊类属性 含义 __name__ 类的名字(字符串) __doc__ 类的文档字符串 __bases__ 类的所有父类组成的元组 __dict__ 类的属性组成的字典 __module__ 类所属的模块 __class__ 类对象的类型 class Foo(): """ This…
基类与继承 / Base Class and Inheritance Class 面向对象的特性使得 Python 中不可避免地需要使用到类和类的继承,类的继承可以使得代码很好的被重用.下面以一些代码示例说明类的继承如何使用. 继承一个基类 首先,定义一个基类 Animal,在初始化中设定一个基本属性以及物种信息,并设置其具有 eat 的能力(self.eat 为 True).此处还重载了魔术方法 __getattr__,当搜索的属性不存在时返回 False(即不具备该能力),最后定义一个 sh…
方法解析顺序 / MRO (Method Resolution Order) 关于方法解析顺序(MRO)的详细内容可以参考文末链接,这里主要对 MRO 进行简要的总结说明以及一些练习示例. 经典类和新式类的 MRO 经典类 描述: 一种不能继承的类,如果经典类为父类,其子类调用父类的构造函数时会报错.且不具备 __mro__ 属性. MRO: Deepth First Search (DFS) / 深度优先搜索 新式类 描述: 新式类是一种为了解决经典类中只能继承不能重写的问题而引入的,新式类默…