摘要:数据封装、继承和多态只是面向对象程序设计中最基础的3个概念。在Python中,面向对象还有很多高级特性,允许我们写出非常强大的功能。 我们会讨论多重继承、定制类、元类等概念。 使用__slots__ 正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和 阅读全文
python 之实例属性和类属性
2017-05-14 00:03 by Lucas_xu, 186 阅读, 0 推荐, 收藏, 编辑
摘要:由于Python是动态语言,根据类创建的实例可以任意绑定属性。 给实例绑定属性的方法是通过实例变量,或者通过self变量: class Student(object): def __init__(self, name): self.name = name s = Student('Bob') s.s 阅读全文
python 之获取对象信息
2017-05-14 00:02 by Lucas_xu, 630 阅读, 0 推荐, 收藏, 编辑
摘要:当我们拿到一个对象的引用时,如何知道这个对象是什么类型、有哪些方法呢? 使用type() 首先,我们来判断对象类型,使用type()函数: 基本类型都可以用type()判断: 如果一个变量指向函数或者类,也可以用type()判断: 但是type()函数返回的是什么类型呢?它返回对应的Class类型。 阅读全文
python 之继承和多态
2017-05-14 00:01 by Lucas_xu, 274 阅读, 0 推荐, 收藏, 编辑
摘要:在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类、父类或超类(Base class、Super class)。 比如,我们已经编写了一个名为Animal的class,有一个run()方法可以直 阅读全文
python之访问限制
2017-05-13 23:59 by Lucas_xu, 240 阅读, 0 推荐, 收藏, 编辑
摘要:在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。 但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的name、score属性: 如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线__,在Pyt 阅读全文
python 之面向对象编程
2017-05-13 23:58 by Lucas_xu, 214 阅读, 0 推荐, 收藏, 编辑
摘要:面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即 阅读全文
python 之类和实例
2017-05-13 23:58 by Lucas_xu, 274 阅读, 0 推荐, 收藏, 编辑
摘要:面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。 仍以Student类为例,在Python中,定义类是通过class关键字: class后面 阅读全文
python 之安装第三方模块
2017-05-13 23:57 by Lucas_xu, 439 阅读, 0 推荐, 收藏, 编辑
摘要:在Python中,安装第三方模块,是通过包管理工具pip完成的。 如果你正在使用Mac或Linux,安装pip本身这个步骤就可以跳过了。 如果你正在使用Windows,请参考安装Python一节的内容,确保安装时勾选了pip和Add python.exe to Path。 在命令提示符窗口下尝试运行 阅读全文
python 之使用模块
2017-05-13 23:56 by Lucas_xu, 313 阅读, 0 推荐, 收藏, 编辑
摘要:Python本身就内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用。 我们以内建的sys模块为例,编写一个hello的模块: 第1行和第2行是标准注释,第1行注释可以让这个hello.py文件直接在Unix/Linux/Mac上运行,第2行注释表示.py文件本身使用标准UTF-8编码; 阅读全文
python 之模块
2017-05-13 23:55 by Lucas_xu, 196 阅读, 0 推荐, 收藏, 编辑
摘要:在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Module) 阅读全文