标签: 面向对象编程

18 篇文章

097、继承
继承 一个类定义的基本形式如下: class ClassName(ParentClass): """class docstring""" def method(self): return class 关键词在最前面 ClassName 通常采用 CamelCase 记法 括号中的 ParentClass 用来表示继承关系 冒号不能缺少 &…
096、森林火灾模拟
森林火灾模拟 之前我们已经构建好了一些基础,但是还没有开始对火灾进行模拟。 随机生长 在原来的基础上,我们要先让树生长,即定义 grow_trees() 方法 定义方法之前,我们要先指定两个属性: 每个位置随机生长出树木的概率 每个位置随机被闪电击中的概率 为了方便,我们定义一个辅助函数来生成随机 bool 矩阵,大小与森林大小一致 按照给定的生长概率生成生长的位置,将 trees 中相应位置设为…
095、属性
属性 只读属性 只读属性,顾名思义,指的是只可读不可写的属性,之前我们定义的属性都是可读可写的,对于只读属性,我们需要使用 @property 修饰符来得到: class Leaf(object): def __init__(self, mass_mg): self.mass_mg = mass_mg # 这样 mass_oz 就变成属性了 @property def mass_oz(self):…
094、特殊方法
特殊方法 Python 使用 __ 开头的名字来定义特殊的方法和属性,它们有: __init__() __repr__() __str__() __call__() __iter__() __add__() __sub__() __mul__() __rmul__() __class__ __name__ 构造方法 __init__() 之前说到,在产生对象之后,我们可以向对象中添加属性。事实上,…
093、定义 class
定义 class 基本形式 class 定义如下: class ClassName(ParentClass): """class docstring""" def method(self): return class 关键词在最前面 ClassName 通常采用 CamelCase 记法 括号中的 ParentClass 用来表示继承关系…
092、什么是对象?
什么是对象? 在 Python 中,几乎所有的东西都是对象。 整数是对象: a = 257 type(a) int id(a) 53187032L b 和 a 是同一个对象: b = a id(b) 53187032L c = 258 id(c) 53186960L 函数: def foo(): print 'hi' type(foo) function id(foo) 636…
091、使用 OOP 对森林火灾建模
使用 OOP 对森林火灾建模 %matplotlib inline import matplotlib.pyplot as plt import numpy as np 对森林建模 class Forest(object): def __init__(self, size=(150, 150), p_sapling=0.0025, p_lightning=5.e-6, name=None): se…
090、简介
简介 属性 attributes 属性是与对象绑定的一组数据,可以只读,只写,或者读写,使用时不加括号,例如: f = file("new_file", 'w') 显示模式属性: f.mode 'w' 是否关闭: f.closed False mode 是只读属性,所以这样会报错: f.mode = 'r' ---------------…