24小时热门版块排行榜    

Znn3bq.jpeg
汕头大学海洋科学接受调剂
查看: 7697  |  回复: 38

nnysldrwv

铜虫 (初入文坛)

[交流] 学了一段时间Python用于科学计算的感想 已有28人参与

刚开始用的是《Learn Python the Hard Way》,可以说是最啰嗦的面向毫无编程基础的人的教材。同时也看了一点官方的Tutorial,看到很多人推荐一本书《Python科学计算》,所以就买了一本。作者叫张若愚。买了书之后兴高采烈地看了两章,发现没有什么亮点,而且结构很乱。书后面一部分可以说对我完全没有作用,都是在介绍怎样做信号处理之类的。这本书强烈不推荐购买,除非你正好是要用来做信号处理。
    试着用Python编写了三维的FDTD程序,这才体会到Python有多慢,即使用到了NUMPython的库。FDTD里不可避免要用到许多次循环,并且有很多循环嵌套。在这种情况下Python的速度比Matlab要慢很多。我用的是PythonXY包,PythonXY附带很多工具,包括二维三维画图、GUI设计、多种文本编辑器。但是觉得这些工具相对MATLAB来说还欠完善。对于国内用户来说(不介意用MATLAB盗版的话),我觉得科学计算还是用MATLAB更好。对速度有要求的话还是应该用编译语言。
回复此楼

» 收录本帖的淘帖专辑推荐

多孔材料 自己有用的 python学习

» 本帖已获得的红花(最新10朵)

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

hyrystudio

新虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
小木虫: 金币+5, 回帖也精彩 2013-09-23 14:18:02
我是《Python科学计算》的作者,首先我对于本书内容编排上对读者造成的不便表示抱歉。

这本书虽然读起来会比较费劲,但是应该还是算作一本入门的教材。其中介绍了我工作中经常会用到的一些扩展库,如果你真想用这些扩展库做一些实际的工作,那么书中所介绍的那些内容是会经常遇到的。

这本书的编写我花了两年多的时间,通过阅读不够完整的英文文档、写测试程序甚至分析源代码,我逐步了解了这些扩展库的用法。所以书中的内容会比较繁杂。建议读者在阅读的时候,可以先通读一遍,了解Python的哪个扩展库可以实现哪些功能。等到实际运用时,再逐步细读。

例如,在书中就不止一次提到Python循环慢的问题。解决方案之一是可以用NumPy。但是对NumPy的ndarray做单个数值的运算,其速度会比使用Python标准对象更慢。

那么解决方案就是上C语言,在后面的章节有介绍如何用weave、SWIG以及Cython等进行编译提速。

我记得MATLAB也是解释运行的,速度一样很慢。好像最近增加了JIT功能,在一些简单的循环运算方面提速了不少。

目前Python要做类似的事情最佳方案就是Cython了,不过最近出来的Numba也支持JIT功能,将针对ndarray的循环运算提速上百倍。所以Python世界的解决方案会越来越丰富。

至于书中为什么会有许多信号处理方面的内容。在我的实际工作中,会经常遇到这样的问题。例如从传感器获得的数据剔除噪声,分析信号的频谱。我想这样的内容对于许多搞工程的都用得上。

正如《learn python the hard way》一样,要学好一样东西,并真正派上用场需要大量的练习和实践。因此读者不能指望这本书能完全解决你遇到的问题。它只能带你进门,看看Python世界的精彩,是否要深入下去,就取决于读者自己了。

» 本帖已获得的红花(最新10朵)

13楼2012-11-03 12:41:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军


小木虫: 金币+0.5, 给个红包,谢谢回帖
那本书主要是内容庞杂,结构也相对较乱一些.不过纯搞科学计算,不用直接上pythonxy这么庞大的东西.画图就弄matplotlib库,数值就上numpy,一点点扩展试试.程序写完如果效率欠佳,用profile来看看主要是哪部分代码占用时间较多,可能的话用c重新那部分来提高效率.python作为后起之秀,优点还是很明显的:动态,简洁,上手快;list可以说是所有编程语言(我接触过的)里面最好用的数据结构;安装程序体积小巧...matlab怎么说也是数值计算领域的老牌软件了,不过运行环境已经够大了,好几百个M.

提供一句话profile程序的python代码注意cProfile那个P大写是必须的)
CODE:
e:\codes\python\myModule>python -m cProfile mytictoc.py
2 function calls in 0.002 seconds

Ordered by: standard name

ncalls tottime percall cumtime percall filename:lineno(function)
1 0.002 0.002 0.002 0.002 mytictoc.py:1()
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}

» 本帖已获得的红花(最新10朵)

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
4楼2012-10-30 17:07:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

geoadd

新虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
13楼: Originally posted by hyrystudio at 2012-11-03 12:41:15
我是《Python科学计算》的作者,首先我对于本书内容编排上对读者造成的不便表示抱歉。

这本书虽然读起来会比较费劲,但是应该还是算作一本入门的教材。其中介绍了我工作中经常会用到的一些扩展库,如果你真想用这 ...

我买了python科学计算一年多了,它帮助我了解了python中用于计算的常用的库。内容广,自然就很难深入,但是对我入门有很大帮助。直到现在,我写代码时还经常翻这本书,查找用什么库来实现想法比较合适。

感谢张老师带来的这本书,希望张老师能出几本针对性比较强的书,比如mayavi,这个库我摸了好久,还是很多没搞懂,最后还是用paraview来做后处理了。 最好有一本书,针对一个完整的软件实例,在这个实例中展现这些库的用法。
22楼2013-06-26 09:17:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

tieer

木虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
那个我也买了一本,确实是看着挺痛苦的。不过python学起来容易,上手快,编程的时候人工的效率也高,好处还是有的。
思考,让这个世界更有趣。
2楼2012-10-30 15:28:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
送鲜花一朵
3楼2012-10-30 16:08:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nnysldrwv

铜虫 (初入文坛)

引用回帖:
4楼: Originally posted by libralibra at 2012-10-30 17:07:18
那本书主要是内容庞杂,结构也相对较乱一些.不过纯搞科学计算,不用直接上pythonxy这么庞大的东西.画图就弄matplotlib库,数值就上numpy,一点点扩展试试.程序写完如果效率欠佳,用profile来看看主要是哪部分代码占用时间 ...

感谢啊! 学到不少
5楼2012-10-30 18:29:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dedream

铁杆木虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
这本书我也有一本,不过不是买的,是一个论坛搞活动不小心中的呵呵,确实结构比较混杂,lib牛和那个yale牛都提到过,不适合入门用,我把他当参考手册用,看英文文档不是很明白的时候,翻一下这本。
从数据到结论
6楼2012-10-30 20:56:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangww2011

木虫 (著名写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
python循环很慢的。
还是用c写 然后包装成python算了
7楼2012-11-01 07:02:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

larkin187

铁杆木虫 (小有名气)


小木虫: 金币+0.5, 给个红包,谢谢回帖
python是写原型的吧,先写出来跑跑
数据量大了后,还是要转C或matlab之类的
8楼2012-11-01 08:48:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dedream

铁杆木虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
是不是少用循环呢?
从数据到结论
9楼2012-11-01 09:08:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

philiper

铁杆木虫 (正式写手)

10楼2012-11-02 20:58:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 nnysldrwv 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿211,化学310分,本科重点双非,求调剂 +24 努力奋斗112 2026-04-08 24/1200 2026-04-14 18:02 by lhj2009
[考研] 材料299专硕求调剂 +16 +21 2026-04-09 16/800 2026-04-14 17:06 by jiangguiquan11
[考研] 335求调剂 +19 想上岸呀!! 2026-04-12 21/1050 2026-04-14 16:23 by Art1977
[考研] 一志愿西南大学生物学学硕344 求生物学相关调剂/生物与医药 +8 超人不会飞@ 2026-04-08 8/400 2026-04-14 16:06 by zs92450
[考研] 一志愿沪9,326求生物学调剂 +10 刘墨墨 2026-04-13 10/500 2026-04-14 15:16 by zs92450
[考研] 考研求调剂 +6 ban班小七 2026-04-11 6/300 2026-04-14 14:06 by 哆啦A梦只是个梦
[考研] 085408光电信息工程专硕355一志愿长春光机所调剂 +6 王ymaa 2026-04-13 13/650 2026-04-14 11:33 by 王ymaa
[考研] 085600材料与化工349分求调剂 +16 李木子啊哈哈 2026-04-12 17/850 2026-04-14 09:11 by fenglj492
[考研] 一志愿2110,化学学硕310分,本科重点双非求调剂 +20 努力奋斗112 2026-04-08 20/1000 2026-04-13 14:24 by 张zhihao
[考研] 0854调剂 +12 长弓傲 2026-04-09 13/650 2026-04-12 09:56 by 逆水乘风
[找工作] 山东高校教师考核超级无底线,员工过不下去啦 +4 qut2026 2026-04-09 9/450 2026-04-12 00:54 by qut2026
[考研] 化工调剂求导师收留!一志愿失利,踏实肯干,有植物提取科研经历 +20 yzyzx 2026-04-09 21/1050 2026-04-12 00:12 by 小小小小啦啦啦
[考研] 求调剂 +6 电气300求调剂不 2026-04-08 6/300 2026-04-11 20:14 by 逆水乘风
[考研] 289 分105500药学专硕求调剂(找B区学校) +6 白云123456789 2026-04-09 8/400 2026-04-10 21:13 by zhouxiaoyu
[论文投稿] mdpi小修rvr时间四五天了 20+3 哈哈high 2026-04-08 5/250 2026-04-10 16:02 by 北京莱茵润色
[考研] 求调剂 +11 翩翩一书生 2026-04-09 13/650 2026-04-10 10:27 by liuhuiying09
[考研] 本科西工大 0856 324求调剂 +10 wysyjs25 2026-04-09 11/550 2026-04-10 08:37 by 5268321
[考研] 已调剂 +18 柴郡猫_ 2026-04-09 19/950 2026-04-09 22:10 by 柴郡猫_
[考研] 085501机械英二77总分294求调剂,接受跨专业学习 +6 守法公民亓纪 2026-04-08 6/300 2026-04-09 15:55 by wp06
[考研] 296求调剂 +3 汪!?! 2026-04-08 3/150 2026-04-08 22:00 by zhouyuwinner
信息提示
请填处理意见