分享一本python的书Python scripting for computational science

软件和网站开发以及相关技术探讨
头像
roylez
帖子: 1928
注册时间: 2005-10-04 10:59
来自: 上海

分享一本python的书Python scripting for computational science

#1

帖子 roylez » 2006-06-19 20:15

也许很多人用不上它。但是对于搞computational science的我来说,这本书确实很启发人。借图书馆的看了半年,终于忍不住去amazon上面买了一本,花了我530块!
弄个dropbox空间来备份文件或者做私人代码服务器
配置:[url]git://github.com/roylez/dotfiles.git[/url]
主页:http://roylez.heroku.com
各种稀奇玩意儿:http://dooloo.info
头像
roylez
帖子: 1928
注册时间: 2005-10-04 10:59
来自: 上海

#2

帖子 roylez » 2006-06-19 20:19

文件太大了,这里上传不了。Oops...放在下面的地址了。
http://web.hku.hk/~lzuo/python_scriptin ... nce_v2.pdf
弄个dropbox空间来备份文件或者做私人代码服务器
配置:[url]git://github.com/roylez/dotfiles.git[/url]
主页:http://roylez.heroku.com
各种稀奇玩意儿:http://dooloo.info
DAIERMIAN
帖子: 19
注册时间: 2006-06-14 13:05

谢谢分享

#3

帖子 DAIERMIAN » 2006-06-22 1:20

谢谢了,有机会请教你。我是数学专业,不过水平很菜。现在正自己看数值分析,又打算学习vpython。所以你这本书真是很及时阿。
deepbluefly
帖子: 65
注册时间: 2005-06-26 12:40

#4

帖子 deepbluefly » 2006-06-22 15:14

这本书好在哪里啊,能否评论一下
看一本英文书,不容易,要好好选择一下
头像
roylez
帖子: 1928
注册时间: 2005-10-04 10:59
来自: 上海

#5

帖子 roylez » 2006-06-22 15:36

我把amazon上面的书评贴在下面了。第一个人的意思大体是这本书主要讲了的是怎么把python作为一种glue language来使用,并没有讲很多算法,对于他没什么大用;第二个人说这本书对他很有用。你可以看看他们怎么说的,然后自己做决定;我觉得他们都说得很中肯。我喜欢这本书也主要因为它对于怎么利用python把matlab, gnuplot, tex等等工具结合到一块做了个很好的演示。


第一个人说的

Python for Science Academics and Engineers, NOT programmers, June 3, 2005
Reviewer: Braddock Gaskill (Baltimore, MD) - See all my reviews
(REAL NAME)
I bought this book as an experienced programmer and Unix user expecting more of a "Numerical Recepies in Python" emphasis on the efficient implementation of algorithms which happen to be in Python. I should have paid more attention to the description.

This book is really more of a "Grad Student's Guide to Everyday Python Usage". I imagine it would be very valuable to a mathematics Grad student without too much programming or shell experience, looking for an alternative to Matlab. However, there is very little "Computational Science" in this book. Do NOT expect a cookbook of high performance algorithm implementations.

The book is a very verbose 700+ pages, all in an unexciting academic LaTeX format. The author works through idiom after idiom for accomplishing different tasks in fairly stand-alone sub-sections without much of a feeling of conceptual "flow" between them. It sort of feels like reading through the author's personal lab notes that he took everytime he learned a new language feature or trick.

If you are an experienced programmer, you will quickly get impatient with the verbose presentation that emphasizes idioms and examples instead of fundamental concepts and syntax reference tables. But, if you are an experienced programmer, you are not the target audience for this book.

Braddock Gaskill

Was this review helpful to you? YesNo (Report this)

第二个人说的

Convincing demonstration of Python's value in science, October 14, 2004
Reviewer: C. Dunn "independent thinker" (Austin, TX USA) - See all my reviews
(REAL NAME)
The author has 2 main goals:
1) To improve the productivity of scientists familiar with specific software systems (especially Matlab, Maple, and Mathematica) by teaching them to "glue" applications together.
2) To advocate Python as the preferred "glue" language. In his own words, "I hope to convince computational scientists having experience with Perl that Python is a preferable alternative, especially for large long-term projects."

He has certainly done a creditable job. As an expert in computational differential equations, he neglects neither efficiency nor correctness, while stressing both simplicity and reliability. In this sense, he has done a great service to the Python community.

The question is: What justifies the purchase of his book?
The answer is: Chapters 4, 9, and 10.

Contents:

1. Introduction--26pp
Very convincing arguments.

2. Getting Started With Python Scripting--38pp
Interesting examples.

3. Basic Python--56pp
A too-quick tutorial. Go to python dot org instead.

4. Numerical Computing in Python--48pp
Stellar explanations of vectorized array operations.

5. Combining Python with Fortran, C, and C++--36pp
Details use of Fortran2Py and SWIG. Mentions many alternatives.

6. Introduction to GUI Programming--70pp
Useful examples of Tkinter/pmw widgets.

7. Web Interfaces and CGI Programming--24pp
Good source of ideas.

8. Advanced Python--132pp
Deep and extensive. Includes: option parsing, regular expressions, data persistence and compression, object-oriented programming, exceptions, generic programming, efficiency.

9. Fortran Programming with NumPy Arrays--32pp
All about efficiency and re-use.

10. C and C++ Programming with NumPy Arrays--40pp
More about efficiency. NumPy C API, C++ objects, and SCXX.

11. More Advanced GUI Programming--73pp
Tedious discussion of both Web and standalone GUIs. BLT, canvas, cgi.

12. Tools and Examples--70pp
Excellent examples of PDE solvers, with a powerful GUI, but quite long and tedious.

A. Setting up the Required Software Environment--16pp
Wonderfully specific installation instructions!

B. Elements of Software Engineering--50pp
Python's strength! Very practical advice on modularity, documentation, coding style, regression-testing, version-control.


Strengths:
+ Downloadable py4cs package, esp. numpytools module
+ Great advice everywhere, e.g. CGI checklist, Pythonic programming, and trouble-shooting.
+ Concrete evidence for most assertions.
+ Very attractive presentation. Sturdy, high-quality cover, binding and pages. Brief, elegant code fragments (except in Chapter 12). Readable prose. No wasted space.
+ Available as 5MB pdf file, after purchase of hardcopy. Very nice.
+ Slides, installation instructions, and errata also at web site. Very professional.


My peeves:
- Not enough tables to be a useful manual.
- On p.428(#7) he points out that handling a raised exception is very slow. However, when I time his example with a positive argument, the try-except version is 20% faster (b/c the if clause is skipped), so he is actually giving bad advice for the general case. Luckily, he contradicts himself later, on page 685: "Exceptions should be used instead of if-else tests." The best advice: Avoid common exceptions in inner loops.
- The 10-page index is not as great as it at first seems. (See Martelli's Python in a Nutshell for a better one.)
- Pure interface functions should 'raise NotImplementedError', rather than 'return'.
- Exceptions should never be trapped mindlessly with 'except:'. That would hide your own SyntaxErrors!
- Too many exercises. (It's published as a textbook.) Since there are no answers, the exercises are useless for non-students. (See Lutz's Learning Python for effective exercises with answers.)


Overall rating:
This contains the best information on numerical programming in Python that I've seen. Though expensive, it could easily be your only Python book, given the excellent online documenation already available.
弄个dropbox空间来备份文件或者做私人代码服务器
配置:[url]git://github.com/roylez/dotfiles.git[/url]
主页:http://roylez.heroku.com
各种稀奇玩意儿:http://dooloo.info
deepbluefly
帖子: 65
注册时间: 2005-06-26 12:40

#6

帖子 deepbluefly » 2006-06-22 20:30

应该是对学术研究比较有用,多谢热心哦
brainy
帖子: 22
注册时间: 2006-01-02 13:11

#7

帖子 brainy » 2006-06-22 23:02

值得一看的好东西。要好好研究一下。谢谢楼主了。
头像
goldfox_79
帖子: 2004
注册时间: 2005-10-16 8:26
来自: 地球

#8

帖子 goldfox_79 » 2006-07-22 22:39

3x!~~~
xiaoJay
帖子: 10
注册时间: 2006-05-27 20:29

#9

帖子 xiaoJay » 2006-07-26 16:59

good,赞一个
and author's homepage http://www.ifi.uio.no/in228/lecsplit/
头像
fortruth
帖子: 1795
注册时间: 2005-11-06 1:51
来自: 七彩云世界
联系:

#10

帖子 fortruth » 2007-01-13 9:45

nkzealot 写了:文件太大了,这里上传不了。Oops...放在下面的地址了。
http://web.hku.hk/~lzuo/python_scriptin ... nce_v2.pdf
感谢 楼主。!
头像
Stupid kid
帖子: 416
注册时间: 2006-10-18 12:57

#11

帖子 Stupid kid » 2007-01-13 14:17

呵呵,虽然还没有学这个,不过看楼主用530来买,我想一定在某一方面很强,
谢谢楼主分享,收藏了,速度很快,哈哈
yamae
帖子: 4
注册时间: 2006-12-30 17:12

谢谢楼主分享

#12

帖子 yamae » 2007-01-24 11:33

一直都在关注python,下了好好学习先~~ :D
malganiss
帖子: 19
注册时间: 2007-03-17 1:18

#13

帖子 malganiss » 2007-04-01 11:48

好人啊,多谢楼主分享
fyx1487
帖子: 21
注册时间: 2007-04-08 17:24

#14

帖子 fyx1487 » 2007-04-22 14:49

赞一下楼主
头像
jaywee
帖子: 517
注册时间: 2006-06-18 21:49
联系:

#15

帖子 jaywee » 2007-04-24 23:00

好东西,赞楼主一个!
Time waits for no man!
回复