103、Theano 简介及其安装
Theano 简介及其安装 简介 Theano 是一个 Python 科学计算库,允许我们进行符号运算,并在 CPU 和 GPU 上执行。 它最初由 Montreal 大学的机器学习研究者们所开发,用来进行机器学习的计算。 按照官网上的说明,它拥有以下几个方面的特点: 与 Numpy, Scipy 的紧密结合 GPU 加速 高效的符号计算 速度和稳定性 动态生成 C 代码 使用 anaconda …
|
|
8
333 字
|
4 分钟
102、多重继承
多重继承 多重继承,指的是一个类别可以同时从多于一个父类继承行为与特征的功能,Python 是支持多重继承的: class Leaf(object): def __init__(self, color='green'): self.color = color class ColorChangingLeaf(Leaf): def change(self, new_color=…
|
|
9
238 字
|
9 分钟
101、共有,私有和特殊方法和属性
共有,私有和特殊方法和属性 我们之前已经见过 special 方法和属性,即以 __ 开头和结尾的方法和属性 私有方法和属性,以 _ 开头,不过不是真正私有,而是可以调用的,但是不会被代码自动完成所记录(即 Tab 键之后不会显示) 其他都是共有的方法和属性 以 __ 开头不以 __ 结尾的属性是更加特殊的方法,调用方式也不同: class MyClass(object): def __init_…
|
|
10
166 字
|
3 分钟
100、接口
接口 在 Python 中,鸭子类型(duck typing)是一种动态类型的风格。所谓鸭子类型,来自于 James Whitcomb Riley 的“鸭子测试”: 当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。 假设我们需要定义一个函数,这个函数使用一个类型为鸭子的参数,并调用它的走和叫方法。 在鸭子类型的语言中,这样的函数可以接受任何类型的对象,只要这个…
|
|
12
446 字
|
18 分钟
099、重定义森林火灾模拟
重定义森林火灾模拟 在前面的例子中,我们定义了一个 BurnableForest,实现了一个循序渐进的生长和燃烧过程。 假设我们现在想要定义一个立即燃烧的过程(每次着火之后燃烧到不能燃烧为止,之后再生长,而不是每次只燃烧周围的一圈树木),由于燃烧过程不同,我们需要从 BurnableForest 中派生出两个新的子类 SlowBurnForest(原来的燃烧过程) 和 InsantBurnFore…
|
|
11
336 字
|
15 分钟
098、super() 函数
super() 函数 super(CurrentClassName, instance) 返回该类实例对应的父类对象。 class Leaf(object): def __init__(self, color="green"): self.color = color def fall(self): print "Splat!" class MapleLeaf…
|
|
11
387 字
|
16 分钟
097、继承
继承 一个类定义的基本形式如下: class ClassName(ParentClass): """class docstring""" def method(self): return class 关键词在最前面 ClassName 通常采用 CamelCase 记法 括号中的 ParentClass 用来表示继承关系 冒号不能缺少 &…
|
|
10
317 字
|
6 分钟
096、森林火灾模拟
森林火灾模拟 之前我们已经构建好了一些基础,但是还没有开始对火灾进行模拟。 随机生长 在原来的基础上,我们要先让树生长,即定义 grow_trees() 方法 定义方法之前,我们要先指定两个属性: 每个位置随机生长出树木的概率 每个位置随机被闪电击中的概率 为了方便,我们定义一个辅助函数来生成随机 bool 矩阵,大小与森林大小一致 按照给定的生长概率生成生长的位置,将 trees 中相应位置设为…
|
|
9
462 字
|
18 分钟
095、属性
属性 只读属性 只读属性,顾名思义,指的是只可读不可写的属性,之前我们定义的属性都是可读可写的,对于只读属性,我们需要使用 @property 修饰符来得到: class Leaf(object): def __init__(self, mass_mg): self.mass_mg = mass_mg # 这样 mass_oz 就变成属性了 @property def mass_oz(self):…
|
|
12
365 字
|
13 分钟
094、特殊方法
特殊方法 Python 使用 __ 开头的名字来定义特殊的方法和属性,它们有: __init__() __repr__() __str__() __call__() __iter__() __add__() __sub__() __mul__() __rmul__() __class__ __name__ 构造方法 __init__() 之前说到,在产生对象之后,我们可以向对象中添加属性。事实上,…
|
|
9
353 字
|
12 分钟