XIVN1987 发表于 2013-1-7 22:45:21

Pyton的便捷:直接执行字符串。。


有时候看网页的时候看到别人的一段代码,以及代码执行的效果配图,于是就想自己执行一下这一段代码,体验一下,甚至是修改一下看看代码是怎么工作的。。。

如果是对于编译型的编程语言,比如C、JAVA,那么必须得先建立完整的项目工程,然后把网上的代码复制粘贴到自己工程里面的新建文件里面,编译,运行才能够看到效果,非常的麻烦,也许干到一般效果还没看到自己的热情倒先凉了。。。

而Python作为解释执行的编程语言,做这种验证的工作就非常的简单和便捷,下面我演示一下:

我看到了下面这段代码以及代码的执行效果图片:


现在我要测试一下这段代码并修改一些东西看看效果,步骤如下:
1、打开Python命令行控制台iPython


2、在命令行输入s = '''
然后复制网页上的代码块粘贴到命令行控制台
然后输入'''
回车,效果如下:


3、在命令行输入exec s
回车,效果如下:


如上图所示,代码的执行效果已经展现出来,代码的验证已经完成,非常的便捷实用。。

4、不止这么简单,在命令行输入h_idea
回车,效果如下:


这段代码说明h_idea函数已经被定义了,可以立即使用,也就是说,在字符串s中的代码执行后不仅可以看到效果,而且字符串s中定义的函数、类、变量都是可以在下面使用的。。
这一点提供了强大的功能,加入我们复制了很大一段代码,只想修改其中一小部分很简单的东西然后从新执行看效果,那么上面这个特性就非常强大了

下面我就以不同的参数调用一次h_idea函数,然后绘制输出,看看效果



如上图所示,我又输入了三行代码绘制了一条新的曲线,就是图中绿色的波形,这样通过和原来蓝色的波形对比,就可以立即看到参数的效果,


Python我一直断断续续在学习,越来越发现它真的是太强大了,做简单的科学计算(替代MATLAB的部分功能)、做用户界面程序(可以使用PyQT、Tkinter等)、数据处理(如生成整个字库的字形)、ADC采集数据的FFT频谱绘制等,,,,对于我们上位机比较弱的电工来说真的是非常的强大,而且简单易学、易用,,,

希望越来越多的电工能发现并掌握这个利器!!!!{:lol:}

richyhuang 发表于 2013-1-7 23:06:28

太好了,我也在学习python语言,没想到这么有用,以前就认为是一种脚本语言而已。

seaman117 发表于 2013-1-7 23:06:29

推荐几本书看看,或者网站博客一类的!

XIVN1987 发表于 2013-1-7 23:15:52

seaman117 发表于 2013-1-7 23:06 static/image/common/back.gif
推荐几本书看看,或者网站博客一类的!


我也没有太多正儿八经的看Python方面的书,一般都是用的时候发现不懂就Google,或者有疑惑直接在命令行里面输几行代码试一下直接看看效果——我一般开机就直接打开Python命令行,平时当计算器用{:titter:}

唯一看的比较全的书就是《简明Python》教程,中文的,有网络版:http://woodpecker.org.cn/abyteofpython_cn/chinese/


论坛的话,我没有专门为这门语言找个论坛(一方面因为这只是个辅助工具,另一方面一般Google搜索或亲自试就能解决),如果确实遇到问题解决不了,建议去CSDN论坛去问,我之前遇到过几个Python方面的问题都是在那里有人指点解决的。。。。

dr2001 发表于 2013-1-8 08:27:42

本帖最后由 dr2001 于 2013-1-8 08:30 编辑

考虑算法,数值计算,数据处理,画图方面的东西,完全可以考虑用Octave,语法绝大部分和MatLAB兼容,常用的数学工具箱都具备。
是完全绿色,免费且开源的东西。

Octave比Python的优势在于很多 算法方面 的东西,MatLAB的资源远比Python丰富。当然,Python这方面现在据说也在增加,有人用Python的衍生搞数值计算。
Python好在库的覆盖面更广,如果需要额外的东西Python更容易提供。

其实你要的功能很多动态语言都具备。Python和Octave最大的好处是内置了丰富的库,不需要额外配置和安装。

bbssilverkey 发表于 2013-1-8 08:48:23

Mount & Blade 就是用这种语言的,楼主可以写副本一个来挑战下

leijiayou 发表于 2013-1-8 08:50:48

了解一下    感觉不错

kebaojun305 发表于 2013-1-8 09:01:07

俺也在学习中。

anning 发表于 2013-1-8 09:16:31

好帖!没想到Python的功能如此强大,操作如此简单!受教了

automaticdai 发表于 2013-1-8 09:21:17

同在学习Py,很好的脚本语言。

titer1 发表于 2013-1-8 09:50:14

好东东,学习

error_dan 发表于 2013-1-8 10:12:13

好吧,python好感度+1,我现在都是用神马mini版的绿色matlab感觉也够用呢...关键是方便...

cndongj 发表于 2013-1-8 10:41:23

正打算玩树莓派呢,正好用得着python。

笑笑我笑了 发表于 2013-1-8 10:45:54

scipy啊,我这有本书可以参考下。
只是python有些图形库依赖Qt,只是我电脑对Qt的支持不是很好,所以改用scilab了,个人觉得可以媲美matlab。

XIVN1987 发表于 2013-1-8 10:45:54

error_dan 发表于 2013-1-8 10:12 static/image/common/back.gif
好吧,python好感度+1,我现在都是用神马mini版的绿色matlab感觉也够用呢...关键是方便... ...

Python和Matlab并不完全是同一类东西,没有太多的可比性!!

Python是一门主流通用编程语言,只是Python有numpy、scipy、pylab这样的科学计算库,使得可以用Python做一定的科学计算,就像Python有PyQT、WxPython界面库所以可以做GUI上位机程序一个道理!!

当然,由于Python是一门通用编程语言,不像Matlab转为科学计算而设计,所以在做科学计算时不如Matlab强大和直观!!!

不过,我也不是数学家或科学家,只是偶尔使用一些科学计算功能,Python对我足够了!!!更何况,如果你除了科学计算外还需要做其他的事情,那么Python的优势就体现出来了!!!!

error_dan 发表于 2013-1-8 10:58:40

XIVN1987 发表于 2013-1-8 10:45 static/image/common/back.gif
Python和Matlab并不完全是同一类东西,没有太多的可比性!!

Python是一门主流通用编程语言,只是Python ...

对头,采点数据算一下,再发出去,用matlab做算是很简单,收进来发出去就麻烦的要死...
页: [1]
查看完整版本: Pyton的便捷:直接执行字符串。。