- 博客(18)
- 收藏
- 关注
原创 python 元类编程
元类:控制类行为的类一个类定义了类实例(对象)的行为,一个元类定义了一个类的行为。python提倡任何东西皆为对象,因此类可以看作是元类的实例。一个类的行为可以借助一个函数来改变,那为什么要用元类呢?原因1、语义更清晰明确。当你读SingletonMetaclass(type)时一眼便看出其意义之所在;原因2、可以方便使用OOP编程思想。元类可以继承元类,可以扩展元类的方法,因...
2020-05-07 16:56:43 280
原创 numpy操作技巧二三事
1、对于数值操作,少用list,尽量使用numpy array。array是基于矢量化运算的,而list需要for循环操作。python的动态属性导致for loop速度比C慢上千倍(取决于for循环深度和数据量),而矢量化的array速度与C不相上下,因为numpy底层是用C语言优化过的。要注意,numpy提供了一个叫vectorize的函数,不要被名字迷惑,它实现的还是一个python下的for
2018-01-07 02:51:31 1281
原创 守恒定律、连续性方程和玻印亭矢量
守恒的东西总是人们乐于接受的,总是觉得冥冥之中有种神秘力量维持着这份永恒。钻石恒久远,一颗永流传—–鲁迅没说。确实,虽然这个世界瞬息万变,沧海桑田,中国更是日新月异,但总有些东西是守恒的,目前人们发现的有质量守恒、电荷守恒、能量守恒、动量守恒等,还有别的在某些条件下才成立的守恒。在经典力学里,动量守恒是牛三定律的直接推论(见下面)。 在一个封闭系统里(没有外力,与外界没有物质或能量交换),假设存
2018-01-05 01:15:28 2482
原创 简单的数学与人生的复杂
If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.by John von Neumann冯诺依曼曾经说“如果有人认为数学很难,那是因为他们没有意识到人生是多么复杂!”在股
2018-01-01 14:54:57 1321
原创 磁场与电场及相对性
麦克斯韦方程组完全刻画了电场和磁场的形态。在静止情况下,Maxwell方程是两组分立的方程,分别描述了电场矢量和磁场矢量;一个矢量场完全由其散度和旋度唯一的确定,描述电场和磁场的两组方程正好是其散度和旋度。静止坐标系下磁场方程: ∇D=ρ\nabla \boldsymbol{D}=\rho ∇×E=0\nabla\times\boldsymbol{E}=\boldsymbol{0} 静止坐标系
2017-12-29 14:07:20 4469
原创 pythonic之路(二)
pythonic之路(二)十、多用生成器和生成器表达式至于什么是生成器,可参看我的另一篇文章迭代对象、迭代器、生成器浅析。如果需要迭代处理的序列包含了无限的元素,比如串口读回来的数据流、某网站发帖信息流等,生成器是最好选择,否则用list类容器的话数据会占用完内存,除非不断地把旧值pop掉,但这样做显然没有生成器那么简洁清晰。如果需要从一个很大的序列每次提取一个值来做非常复杂的运算,那么用list类
2017-12-22 02:15:24 223
原创 pythonic之路(一)
pythonic之路(一)一、if中不要直接将语句与True、False、None做比较python中隐含为False的对象: None False 数值0(不是字符"0") 空容器,比如空list x=[]、空tuple x=()、空dict x={}、空str x=""其余的则隐含为True。尽量避免用如下语法if foo == True,if x == 0,
2017-12-21 00:23:01 273
原创 吐槽代码可维护性
吐槽代码可维护性写代码的时候要给维护留条后路,你可能永远不会想到或许有一天一个维护你代码的暴力偏执狂提着斧头找上你家门。不是开玩笑的!我这会正在磨斧头。python语言因为弃掉了大括号,以缩进安排语句块,所以写出来的代码看着整洁、清晰。故从理论上来说,python代码的可维护性应该很好。但是,事在人为。永远不要低估程序员的创造力以及离经叛道,事实上,他们任何事都能做出来。乱七八糟的python代码和
2017-12-20 02:02:12 458
原创 请编写易于维护的代码
写代码的时候要给维护留条后路,你可能永远不会想到或许有一天一个维护你代码的暴力偏执狂提着斧头找上你家门。不是开玩笑的!我这会正在磨斧头。Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.--John
2017-12-19 23:42:33 440
原创 python imshow、pcolor、contourf的区别
def gaussian(u, v,cenu, cenv, wid): return (1/(2*numpy.pi*wid**2)) *numpy.exp(-(u-cenu)**2 / (2*wid**2)-(v-cenv)**2 / (2*wid**2))data =numpy.empty((25,3))x =numpy.arange(-2,3,1)y =numpy.arange(-2
2017-12-19 20:07:12 11989 2
原创 迭代对象、迭代器、生成器浅析
迭代对象、迭代器、生成器浅析 这三者都是迭代对象,可通过for循环逐个获取对象元素。生成器基本不占用内存无论有多大数据量,但是只能使用一次(也可以通过一些途径使用多次)。迭代对象 iterables能一次返回一个元素的对象,主要用于for循环。基本上python的所有容器(container)都是可迭代的,比如有序容器list, str, tuple,set 和无序容器dict, file,还
2017-12-19 19:57:57 1051 1
原创 代数方程解的存在性和唯一性(if and only if)
代数方程解的存在性和唯一性(if and only if)1、存在性定义一个函数f:X→Yf:X\to Y,对于值域上的每一个b∈Yb\in Y,方程f(x)=bf(x)=b在定义域上有解吗?如果有解,那么该函数是一个满射,或叫ontoonto (surjective) function\ (surjective)\ function 。所以,满射是解存在的前提条件。 满射定义:∀y∈Y,∃x∈
2017-12-18 18:05:30 3168
原创 python type(object) 与 isinstance(object, base) 区别
python type(object) 与 isinstance(object, base) 区别python是一种解释型动态语言,所以定义变量的时候不需要强制指定其类型,解释器在运行程序的时候会自动检测,并为某些操作提供隐式的类型转换,这也就是为什么动态语言运行较慢的一个原因。然而,程序有时候需要进行类型检查,比如函数参数类型的检查,这样可以避免一些低级bug并提高程序的安全性,即提高了代码的ro
2017-12-18 12:01:35 481
原创 8行代码实现ui文件到py文件转换
8行代码实现ui文件到py文件转换 在用PyQt进行GUI编程时,一般先通过Qt Designer产生后缀为.ui的UI文件(类似于XML文件),接着将.ui文件转换成.py文件,再通过一个python主程序调用这个.py文件,实现界面按钮与动作的关联。 将.ui转换为.py一般是通过命令行,如果电脑上安装了Eric 6,也可以用Eric转换,但最通用的还是命令行方法。其语法为
2017-12-18 11:55:28 2676
原创 python中any()和all()如何使用
python中any()和all()如何使用 any(iterables)和all(iterables)对于检查两个对象相等时非常实用,但是要注意,any和all是python内置函数,同时numpy也有自己实现的any和all,功能与python内置的一样,只不过把numpy.ndarray类型加进去了。
2017-12-18 01:30:42 53930
原创 lmfit-Model vs. Minimizer
if you have a curve-fitting problem, use Model. If it's not curve-fitting, or the model is really complex, you might as well use Minimizer
2017-12-07 22:50:19 982
转载 An introduction to smoothing--forcked from matthew-brett
Smoothing is a process by which data points are averaged with their neighbors in a series, such as a time series, or image. This (usually) has the effect of blurring the sharp edges in the smoothed
2017-12-07 22:12:51 191
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人