`
izuoyan
  • 浏览: 9223791 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

略谈Python语言(最强的脚本语言)

阅读更多

对于许多程序员来说,Python的大名应该有所耳闻。而对于Python的评论大多褒贬不一。有的甚至说Python是以其慢速运行而闻名于世。在此我并不是要去评论别人的对于错,我只是站在一个比较客观的角度来谈谈Python这一计算机语言。
Python是一种解释性语言,而且属于OpenSource的项目。但是,你可以将其用于商业用途。并且可以将其放在商业的产品光盘中一同发售。当然,人们也可以从www.Python.org或者OpenSource的网站上免费获得其安装程序或者源代码。Python最初是在苹果计算机上被编译成功的,但现在他已经可以运行于世界上主流的操作平台之上了。他不只有Windows版本的。同时还有Linux,Unix等很多平台上都可以使用他,在RedHat9中,还将其作为开发必须的一项语言被安装。对于Python的代码类型,基本可分为3种,分别是字节代码,二进制代码,优化代码。他们的后缀名分别是.py .pyc .pyo 这些代码都可以直接运行。无需做任何的编译或者连接。而在使用这些类型的代码上,Python会更具不同的情况选择不同的类型。如下:

#!/usr/bin/python
#MyPython.py
class python:
def __init__(self):
self.name='python'
def yourname(self):
print self.name

#!/usr/bin/python
#main.py
import MyPython
py=MyPython.python
py.yourname()

在运行时,Python会检测在main.py的当前目录中有没有MyPython.pyc文件,如果没有那么导入MyPython.py并且同时生成MyPython.pyc为下次更快的导入做好准备。这样,可以减少不少初始化的时间。而且,这一切无需用户介入,Python会自动完成。对于其语法,不的不承认,他的语法是众多其他语言中相对简单的,他排除了许多繁琐的思索。如下:

#!/usr/bin/python
a=2003
print a
a='Hello python'
print a
a=[2,0,0,3]
print a[0]

以上的代码可以被正常运行,其结果如下:

2003
Hello python
2

如果是C++至少需要声明3组变量。而对于Python一个变量就可以了。不但如此,Python的对代码块的管理也有他的独特之处。下面是Python与C++对于同样一个While循环的比较

#!/usr/bin/python
#python source
a=0
while (a<=10):
a=a+1
print 'The number is '+a
print 'while is end'

//Build by G++ or VC++
//C++ Source
#include <iostream><br>int main()<br>{<br> while(a&lt;=10)<br> {<br> a=a+1;<br> cout&lt;&lt;"The number is "&lt;<a></a> }<br> cout&lt;&lt;"while is end";<br> return 0;<br>}</iostream>

对于以上代码的比较,可以看出,C++等语言是以{}来管理块的,而Python是以缩进来管理的。这样做的确有他的优越性。相信许多程序员都有过漏去{}的经历。如果,使用的编译器或者解释器优秀的话,你的确可以非常容易的加上漏去的{}。但是,如果不是这样,我想你会在复杂的代码中开始漫游了。因为,可能你的编译器会告诉你一个错误的错误信息,这个错误的位置可能会离你真正错误的地方很远(大概有十万八千里吧)。相对于此,以缩进管理方式的Python来说,程序员几乎不用考虑这种问题。其次以缩进方式区分块的Python在进行复杂的嵌套中,Python代码就显得明了许多了。如下面的Python与C++在嵌套上的比较:

#!/usr/bin/python
#python source
class python:
def Hello(self):
print 'Hello'
def count(n):
in=0
while(in<=n):
in=in+1
print in

//buile by G++ or VC++
//C++ Source
#include <iostream><br>int main()<br>{<br>class python<br>{<br>public:<br>void Hello(void)<br>{<br>cout&lt;&lt;"Hello"&lt;<endl></endl>}<br>void count(int n)<br>{<br>int in=0;<br>while(in&lt;=n)<br>{<br>in=in+1;<br>cout&lt;<in></in>}<br>}<br>};<br>return 0;<br>}</iostream>

相比较来看,Python的代码更能分清其层次,而对于C++这样的代码虽然能够编译成功。但是,对于其日后的维护,会造成无尽的痛苦。同时,就在我刚才写C++Source的时候,也差点漏了};。由此,可以看出Python的语法简洁。同时,他的出错能力也非常强。在一般情况下,Python的解释器能够准确指出错误的位置和原因。如下面的代码:

#!/usr/bin/python
import A
a=0
print _a
_a=b

运行以上的代码Python将抛出如下的错误信息:
Traceback (most recent call last):
File "E:\source.py", line 1, in ?
import A
ImportError: No module named A

Traceback (most recent call last):
File "E:\source.py", line 3, in ?
print _a
NameError: name '_a' is not defined

Traceback (most recent call last):
File "E:\source.py", line 4, in ?
_a=b
NameError: name 'b' is not defined
可以很容易的看出错误的原因和位置。在这种机制中当你调试复杂的程序时,你不用担心不能快速的解决问题。你只要按照Python的错误提示,一步步修正就可以了。
对于Python的应用范围,我个人大概的将其分为三类。
第一类时软件类,这我想不说大家也应该很清楚的。相对于C++等语言,Python的优势在于他的快速开发和代码开放。对于Python,你可以开一个记事本或者Kwriter来编写代码,然后保存,运行就可以了。即使再复杂的代码也是如此。这大大减少了开发周期,加快了开发速度。相对于传统的 编辑,编译,连接运行。Python可时少了不少的麻烦。三步并两一步。又由于Python的简洁的代码和短暂的培训时间,所以,对于软件的开发和维护都变得非常容易。而Python的代码解释性,对于用户而言,只要安装有Python以后,对于Python的软件就不必再安装Python了。对软件直接运行也可以,有一劳永逸的感觉。而对于开发者来说,产品的更新和修复更加容易。或许只要使用用户浏览一张网页的时间,就可以从根本上修复产品中的Bug。这要感谢Python的代码重用和灵活的代码管理。而对于再用户处发生的错误,开发者可以更具Python自带的错误诊断来得知情况。而且,在网上有很多有关Python的代码库,而且,这些都是免费的,对于开发的企业来说,可以节省一笔相当可观的开发资金。所以说,Python在软件市场也有其的特点和市场。
第二类是网络类,随着现代网络的飞速发展。各种网络服务器脚本纷纷涌现。Perl,PHP,ASP等等都占一席之地。而Python自然也能应用于此。相对于PHP和ASP。Python能够实现从服务器软件到服务器脚本的所有功能。其中ZOPE服务器软件便是很好的例子。对于网络,Python有一组模块是专门针对它的。其中有Socket CGI和SocketServer等等,当然,Python也能够和一些大规模数据库很好的支持。甚至可以直接与他们连接无需通过其他的中间插件。应用Python强大的支持和Python简洁的代码。相信你可以在断时间内写出出色的动态网站。
第三类是教育类。Python最初就是为了教育而开发的一种语言。应用于教育当然是情理之中的事情。在程序员中,如果你询问他们的入门语言是什么,我想许多都会说Basic更多的人说VB。其实,Basic并非最好的入门级语言。暂且不论Basic没有OOP的编程思想。在代码运行的时候还要编译和连接,虽然Basic和Python一样是解释性语言。而其语法实在让人无法忍受,比如在判断语句后要加then代替C++中的{}的确有些落伍了。对于学习编程更主要的是学习如何去用语言去思索。明白程序是如何运作的,更要知道,一些程序的基本编程思想。这一切是Python所能做到的。Python的编程思路和语法更像C++而且,支持类编程和代码重用。不论从何种角度来看,Python在让初学者了解编程是怎么一回事上是最好的语言。而Python另一个功能——即时运行。也为初学者学习编程增加不少的方便。如下在运行Python解释器后,如下运行:
>>>print 'Hello Python'
Hello Python
这个对于初学者很重要,因为他们可以运用这种机制一行行输入代码,看看代码发生了什么作用。了解程序是如何运行的。这个对于深入编程是很重要的。而且,对于初学者的疑问,这种机制可以方便的解决其疑问。而对于初学者的独特想法,这种机制能够让初学者更快的得到这种想法的可行性。在资金上,如果对于普通的中小学高中等为了让学生学一些编程思想就花几千元卖一套VisualBasic实在是大材小用了。而且,VisualBasic必须运行于Windows这样,大家又要为每台计算机花一千多卖操作系统。这样一来教学机构可是要花费相当可观的一笔资金。而Python是免费的,许多资源都是免费的。而且Python也可以运行于免费的Linux系统上。所以,总体来说比使用VB的资金投入就更小了。
当然,任何事物都有它的两面性。人们不是常说,科学是一把双刃剑么?不错Python也有他不足的地方。首先,是函数的定义,代码如下:

def myfunction(number):
return number+10

这段代码只看函数的定义时不能知道myfunction返回是什么类型的数据,而number也不知道是什么数据类型。只有深入代码本身才可以了解这一切。再看看如下的代码:

#!/usr/bin/python
class myclass:
def __init__(self):
self.name='myclass'
def nothing(self):

print 'end'

看来这个代码一切正常,nothing方法什么都不做。但在运行时Python会提示nothing有错误,并会波及到下面的代码。所以,不得不如此定义:

#!/usr/bin/python
class myclass:
def __init__(self):
self.name='myclass'
def nothing(self):
return

print 'end'

同时,我在最初所说的速度慢也是一个事实。不过,根据Python官方网站的报道。最新的Python2.3在速度上由于采用新的算法。所以,比以前的版本快30%左右。对于Python自带的GUI模块Tkinter,其中文支持相当不好。必须对其中显示和接收的中文转成unicode的才可以。不过,由于Python的众多库的支持。GUI也可以用wxPython写。他对中文的支持非常好,而且功能非常强大,几乎可以取代Python自带的Tkinter成为流行的GUI。最后是Python没有优秀的IDE环境,虽然这对于熟悉Python的人来说并不重要,但是对于吸引人们使用Python的确少些说服力。
对于Python的未来,我觉得非常看好。首先,Python的代码运行机制非常类似于Java语言。同样可以拥有字节代码和二进制代码的运行方法。甚至比Java在代码的运行上更灵活。再来,Python的语法更为稳定,由于Python是一个解释器中的老前辈,所以,在多年的开发中成为一个相对稳定和完善的语言。Python的模块也不像Java那么复杂,编写也更为快捷。所以,Python未来将向Java这一方向发展。可能将会用于移动设备的开发。同时,网络的支持也自然会提高,虽然,Python的网络支持已经相当完善甚至超越了现在许多的网络脚本。但是,网络的日新月异Python必须更加更新才可以。比如XML技术,虽然现在的Python也支持,但是XML模块的运行速度还是比较慢。在程序的开发上,Python有其优势。不单是由于他的本地程序的支持非常好,对于网络的支持也超乎许多人的意料。在教学方向,Python以其简洁易懂的代码能够成为学习就算机语言的流行语言之一。
以上只是我使用Python的一些看法。当然,只是我一个人的一面之见是会有错误的。所以,如果有任何不足的地方还请各位多多指点小生。我的看法:不论是思想还是程序,只有在不断的交流中才能完善。
STUDIO软件开发组
站长:北斗星君(黄庠魁)

分享到:
评论

相关推荐

    文卷调查python语言脚本

    文卷调查python语言脚本文卷调查python语言脚本文卷调查python语言脚本文卷调查python语言脚本文卷调查python语言脚本文卷调查python语言脚本文卷调查python语言脚本文卷调查python语言脚本文卷调查python语言脚本文...

    python游戏项目脚本大全.zip

    python游戏项目脚本大全 python游戏项目脚本大全 python游戏项目脚本大全 python游戏项目脚本大全 python游戏项目脚本大全 python游戏项目脚本大全 python游戏项目脚本大全 python游戏项目脚本大全 python游戏项目...

    Python游戏脚本语言(精讲)

    Python游戏脚本语言精讲 Python 是一种优秀的游戏脚本语言,因其强大、易于嵌入、可与 C/C++ 代码无缝集成、拥有多种高级特性且可用于自动化生产过程。游戏开发中,使用脚本语言可以快速开发游戏行为,而不需要陷入...

    Python-何用Python代替Bash脚本指南

    总的来说,虽然Bash脚本在某些简单场景下仍具优势,但Python的综合能力使其成为更适合编写复杂脚本的语言。将Bash脚本迁移到Python,不仅可以提升代码质量,还能为未来的项目扩展打下坚实基础。在实际工作中,可以...

    python语言编写脚本

    python简单脚本

    Python语言程序设计习题答案.zip

    学习本章,要了解Python作为一种计算机程序设计脚本语言,结合了解释性、编译性和互动性的特点;了解在Linux和Windows中安装Python的方法;了解IDLE、PyCharm和Jupyter三种常用Python程序编辑环境。工欲善其事,必先...

    python编写shell脚本

    #### 二、Python 作为 Shell 脚本语言的优势 Python 作为一种高级编程语言,其语法清晰简洁,功能强大,并且拥有丰富的库支持。相比传统的 Shell 脚本,Python 在以下几个方面展现出明显优势: 1. **语法清晰**:...

    Python淘宝抢购脚本 Python实现淘宝商城自动抢购-毫秒级响应

    Python是一种广泛应用于自动化任务的高级编程语言,其语法简洁,易于学习,丰富的第三方库使其成为自动化脚本的理想选择。 Selenium是一个强大的Web自动化测试框架,可以模拟用户在浏览器中的各种操作。在淘宝抢购...

    Python语言在Abaqus中的应用_python_ABAQUS_

    **Python在Abaqus中的应用详解** Python是一种高级编程语言,因其...通过深入研究提供的"Python语言在Abaqus中的应用"压缩包文件,可以进一步了解具体的脚本实例和实践方法,进一步提升在Abaqus中的Python编程能力。

    Python脚本使用详解.doc

    **一、Python语言基础** Python是一种高级编程语言,以其简洁、易读的语法而闻名,适合初学者入门。在Python语言基础部分,我们首先要了解以下几个关键概念: 1. **数学运算符**:Python支持基本的算术运算符,如...

    Selenium2自动化测试实战 基于Python语言

    《Selenium2自动化测试实战——基于Python语言》是一本针对软件测试工程师,尤其是对Web应用程序自动化测试感兴趣的读者的专业书籍。作者虫师在2016年10月编写了这本书,尽管时间已过去数年,但Selenium作为自动化...

    京东抢茅台Python脚本

    【京东抢茅台Python脚本】是一个利用Python编程语言编写的自动化工具,主要用于在京东平台上自动参与茅台酒的抢购活动。这个脚本的目的是通过自动化的方式提高抢购成功率,节省用户手动操作的时间,并且根据描述,它...

    Python脚本语言编译器

    在Python的历史中,2.4.2是一个较旧的版本,发布于2006年,尽管如此,了解这个版本可以帮助我们了解Python语言的发展历程和不同版本间的差异。 Python的编译过程包括以下几个步骤: 1. **解析**:编译器首先读取...

    ABAQUS复合材料Python语言例题

    在ABAQUS这一高级有限元分析软件中,Python语言被广泛用于自动化建模、求解以及后处理等任务,尤其在处理复杂问题如复合材料分析时,Python脚本的优势更为明显。"ABAQUS复合材料Python语言例题"提供了一系列实践案例...

    基于Python的嵌入式脚本研究.pdf

    标题和描述提到的“基于Python的嵌入式脚本研究”,重点强调的是嵌入脚本语言到应用程序中去的优势,以及Python语言作为嵌入式脚本语言的实现和应用。这个研究的主要目的是利用Python的便捷性、动态性以及易扩展的...

    多语言自动翻译脚本 中文翻译英文 python 自动翻译

    多语言自动翻译脚本,支持多语言,中英文自动翻译脚本 python C:\Users\ganwang\Desktop\打车报销票\translatetools.py 请输入翻译文件地址:C:\Users\ganwang\Desktop\打车报销票\紫金集团DHR项目-多语言翻译_...

    面向Arcgis的python脚本编程

    1. Python基础:Python是用于编写脚本的首选语言之一,其简洁明了的语法和丰富的库支持使得编写GIS脚本变得简单。了解Python的基本语法,如变量、数据类型、控制结构(如循环和条件语句)、函数定义以及错误处理,是...

    Python语言在Abaqus中的应用随书配置光盘

    Python语言在Abaqus中的应用是一个深度且广泛的领域,它涉及到有限元分析、模拟和工程计算的自动化。Abaqus是一款强大的非线性有限元软件,广泛用于结构、热流体、声学以及多物理场问题的求解。Python作为其内置的...

    Python语言在Abaqus中的应用_pythonabaqus_python_ABAQUS_

    Python作为一款高级编程语言,以其简洁的语法和强大的功能,被Abaqus用作脚本语言进行自动化分析和定制化工作流程。本篇文章将深入探讨Python在Abaqus中的应用,帮助你提升分析效率和精确度。 首先,Python在Abaqus...

Global site tag (gtag.js) - Google Analytics