1. 简介
类是面向对象编程的核心,它扮演相关数据及逻辑的容器角色。
它们提供了创建“真实”对象的蓝图。
2. 语法格式
def ClassName(base_class[es]): "optional doc string" static_member_declarations method_declarations
分为以下几块:
- class关键字定义类。
- 可以提供一个可选的父类或者说基类,如果没有合适的基类,那就使用object作为基类。
- 文档字符串
- 静态成员定义
- 方法定义
3. 类的定义
class FooClass(object): """1st class: FooClass""" version = 0.1 def __init__(self, nm = 'John'): """constructor""" self.name = nm print 'Create a class instance for', nm def show_name(self): """display name""" print 'Your name is', self.name print 'My name is', self.__class__.__name__ def show_version(self): """display version""" print 'Version is', self.version def addMe2Me(self, x): """add""" return x + x
__init__():为特殊方法。
- 所有名字开始和结束各有2个下划线的方法,都是特殊方法。
- 当类实例被创建时, __init__()方法会自动执行,类似于构建函数。
- 目的是执行一些该对象必要的初始化工作。
self:类实例自身的引用。
4. 创建类实例
fool = FooClass()
执行结果:
Create a class instance for John
如果提供参数:
foo2 = FooClass('Jane')
执行结果:
Create a class instance for Jane
5. 方法调用
fool.show_name() fool.show_version() print fool.addMe2Me(5) print fool.addMe2Me('xyz')
运行结果:
Your name is John My name is FooClass Version is 0.1 10 xyzxyz