年度归档: 2024 年

1107 篇文章

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' ---------------…
089、ctypes
ctypes 基本用法 ctypes 是一个方便 Python 调用本地已经编译好的外部库的模块。 from ctypes import util, CDLL 标准 C 库 使用 util 来找到标准 C 库: libc_name = util.find_library('c') # on WINDOWS print libc_name msvcr90.dll 使用 CDLL …
088、生成编译注释
生成编译注释 %%file fib_orig.pyx def fib(n): a,b = 1,1 for i in range(n): a,b = a+b, a return a Writing fib_orig.pyx !cython -a fib_orig.pyx 在浏览器中打开 fib_orig.html 可以查看内容,windows 下打开网页使用: !start fib_orig.htm…
087、Cython:Typed memoryviews
Cython:Typed memoryviews 例子 这里 double[::1] 是一种 memoryview 方法,效率跟 Numpy 数组差不多,可以给 C 数组赋值,可以给 Numpy 数组赋值,可以像 Numpy 一样切片: %%file cython_sum.pyx def cython_sum(double[::1] a): cdef double s = 0.0 cdef int…