python 能做什么

一起学IT技能 2012-08-23 02:45:55
我是学java的,也学了短时间的python了,可是还是不知道python的用途在什么地方,也找不到python在目前国内使用的发展方向,
比如说java可以用于web开发,会涉及到jsp servlet 然后是各类框架的技术,然后是可以进行web开发,而python呢,对于python的学习防线很迷茫,我还是个菜鸟,,对很多东西可能知道的少,希望各位拍砖指教。
...全文
7085 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
windcool2007 2013-12-06
  • 打赏
  • 举报
回复
1. 系统编程 Python对操作系统服务的内置接口,使其成为编写可移植的维护操作系统的管理工具和部件(有时也称为Shell工具)的理想工具。 Python程序可以搜索文件和目录树,可以运行其他程序,用进程或线程进行并行处理等。 Python的标准库绑定了POSIX以及其他常规操作系统(OS)工具:环境变量、文件、套接字、管道、进程、多线程、正则表达式模式匹配、命令行参数、标准流接口、Shell命令启动器、文件名扩展等。 此外,很多Python的系统工具设计时都考虑了其可移植性。例如,复制目录树的脚本无需做任何修改就可以在几乎所有的Python平台上运行。 EVE Online所采用的Stackless Python还为多处理需求提供了高级的解决方案。 2. 用户图形接口 Python的简洁以及快速的开发周期十分适合开发GUI程序。 Python内置了TKinter的标准面向对象接口Tk GUI API,使Python程序可以生成可移植的本地观感的GUI。 Python/Tkinter GUI不做任何改变就可以运行在微软Windows、X Windows(UNIX和Linux)以及Mac OS(Classic和OS X都支持)等平台上。 一个免费的扩展包PMW,为Tkinter工具包增加了一些高级部件。此外,基于C++平台的工具包wxPython GUI API可以使用Python构建可移植的GUI。 诸如PythonCard和Dabo等一些高级工具包是构建在wxPython和tkinter的基础API之上的。 通过适当的库,你可以在Python中使用其他的GUI工具包,例如,通过PyQt使用Qt、通过PyGTK使用GTK、通过PyWin32使用MFC、通过IronPython使用.NET,以及通过Jython(Java版本的Python,我们将会在第2章中进行介绍)使用Swing等。 对于运行于浏览器中的应用或具有一些简单界面需求的应用,Jython和Python Web框架以及服务器端CGI脚本(下一节将介绍)都提供了其他的用户界面的选择。 3. Internet脚本 Python提供了标准Internet模块,它使得Python程序能够广泛地在多种网络任务中发挥作用,无论是在服务器端还是在客户端都是如此。 脚本可以通过套接字进行通信;从发给服务器端的CGI脚本的表单中提取信息;通过FTP传输文件;解析、生成和分析XML文件;发送、接受、编写和解析Email;通过URL获取网页;从获取的网页中解析HTML和XML文件;通过XML-RPC、SOAP和Telnet通信等。 Python的库使这一切变得相当简单。不仅如此,从网络上还可以获得很多使用Python进行Internet编程的第三方工具。 例如,HTMLGen可以从Python类的描述中生成HTML文件,mod_python包可以使在Apache服务器上运行的Python程序更具效率并支持Python Server Page这样的服务器端模板,Jython系统提供了无缝的Python/Java集成而且支持在客户端运行的服务器端Applet。 此外,涌现了许多针对Python的Web开发工具包,例如,Django、TurboGears、web2py、Pylons、Zope和WebWare,它们使得Python能够快速构建功能完善和高质量的网站。 很多这样的工具包包含了诸如对象关系映射器、模型/视图/控制器架构、服务器端脚本和模板,以及支持AJAX等功能,从而提供了完整的、企业级的Web开发解决方案。 4. 组件集成 在介绍Python作为控制语言时,曾涉及它的组件集成的角色。 Python可以通过C/C++系统进行扩展,并能够嵌套C/C++系统的特性,使其能够作为一种灵活的黏合语言,可以脚本化处理其他系统和组件的行为。 例如,将一个C库集成到Python中,能够利用Python进行测试并调用库中的其他组件;将Python嵌入到产品中,在不需要重新编译整个产品或分发源代码的情况下,能够进行产品的单独定制。 为了在脚本中使用,在Python连接编译好组件时,SWIG和SIP这样的代码生成工具可以让这部分工作自动完成,并且CPython系统允许代码混合到Python和类似C的代码中。 更大一些的框架,例如,Python的微软Windows所支持的COM,基于Java实现的Jython,基于.NET实现的IronPython和各种CORBA工具包,提供了多种不同的脚本组件。 例如,在Windows中,Python脚本可利用框架对微软Word和Excel文件进行脚本处理。 5. 数据库编程 对于传统的数据库需求,Python提供了对所有主流关系数据库系统的接口,例如,Sybase、 Oracle、 Informix、 ODBC、 MySQL、 PostgreSQL、 SQLite等。 Python定义了一种通过Python脚本存取SQL数据库系统的可移植的数据库API,这个API对于各种底层应用的数据库系统都是统一的。 例如,因为厂商的接口实现为可移植的API,所以一个写给自由软件MySQL系统的脚本在很大程度上不需改变就可以工作在其他系统上(例如,Oracle)——你只需要将底层的厂商接口替换掉就可以实现。 Python标准的pickle模块提供了一个简单的对象持久化系统:它能够让程序轻松地将整个Python对象保存和恢复到文件和文件类的对象中。 在网络上,同样可以找到名叫ZODB的第三方系统,它为Python脚本提供了完整的面向对象数据库系统,系统SQLObject可以将关系数据库映射至Python的类模块。 并且,从Python 2.5版本开始,SQLite已经成为Python自带标准库的一部分了。 6. 快速原型 对于Python程序来说,使用Python或C编写的组件看起来都是一样的。 正因为如此,我们可以在一开始利用Python做系统原型,之后再将组件移植到C或C++这样的编译语言上。 和其他的原型工具不同,当原型确定后,Python不需要重写。系统中不需要像C++这样执行效率的部分可以保持不变,从而使维护和使用变得轻松起来。 7. 数值计算和科学计算编程 我们之前提到过的NumPy数值编程扩展包括很多高级工具,例如,矩阵对象、标准数学库的接口等。 通过将Python与出于速度考虑而使用编译语言编写的数值计算的常规代码进行集成,NumPy将Python变成一个缜密严谨并简单易用的数值计算工具,这个工具通常可以替代已有的代码,而这些代码都是用FORTRAN或C++等编译语言编写的。 其他一些数值计算工具为Python提供了动画、3D可视化、并行处理等功能的支持。例如,常用的SciPy和ScientificPython扩展,为使用科学编程工具以及NumPy代码提供了额外的库。 8. 游戏、图像、人工智能、XML、机器人等 Python的应用领域很多,远比本书提到的多得多。例如: 可以利用pygame系统使用Python对图形和游戏进行编程。 使用PySerial扩展在Windows、Linux以及更多系统上进行串口通信。 用PIL、PyOpenGL、Blender、Maya和其他的一些工具进行图像处理。 用PyRo工具包进行机器人控制编程。 用xml库、xmlrpclib模块和其他一些第三方扩展进行XML解析。 使用神经网络仿真器和专业的系统shell进行AI编程。 使用NLTK包进行自然语言分析。 你甚至可以使用PySol程序下棋娱乐。可以从PyPI网站或通过网络搜索(请在http://www.python.org上获得具体链接)找到这些领域的更多支持。 一般来说,这些特定领域当中有许多在很大程度上都是Python组件集成角色的再次例证。 采用C这样的编译语言编写库组件,增加Python至其前端,这样的方式使Python在不同领域广泛地发挥其自身价值。对于一种支持集成的通用型语言,Python的应用极其广泛。
babala2009 2013-03-18
  • 打赏
  • 举报
回复
哈哈 !
想喝咖啡的貓 2013-03-18
  • 打赏
  • 举报
回复
上周5面试了一家python,做游戏服务器端的。
黄哥Python培训 2013-03-16
  • 打赏
  • 举报
回复
先研究自己感兴趣的,最好!
黄哥Python培训 2013-03-16
  • 打赏
  • 举报
回复
Python应用领域 Web开发、数据库编程、桌面GUI应用开发、科学与数值计算、教育教学、网络应用开发、软件开发(控制、管理、测试等)、游戏与3D影像;游戏开发、网站建设、机器人和航天飞机控制等领域,Python几乎可以用在任何场合。
黄哥Python培训 2013-03-16
  • 打赏
  • 举报
回复
几乎啥都可以干。
junjielee 2013-03-13
  • 打赏
  • 举报
回复
Python 太灵活了,我也刚学,好像挺好玩的,啊哈哈
a77169a 2012-08-31
  • 打赏
  • 举报
回复
还是很简单的啊
georgema 2012-08-30
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

我个人认为Python既是脚本语言,主要功能就不是用来“做东西的”而是起“辅助”作用的。
就好像是开发和测试的感觉。
[/Quote]
门外汉最好不要给出这种误导人的结论
bigbaldy 2012-08-30
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 的回复:]

引用 10 楼 的回复:

我个人认为Python既是脚本语言,主要功能就不是用来“做东西的”而是起“辅助”作用的。
就好像是开发和测试的感觉。

门外汉最好不要给出这种误导人的结论
[/Quote]
所谓做东西还是起辅助作用,得看目前这门语言的主要应用,如果有10000个项目,其中9000个都是辅助,那么这个语言的主要功能就是起“辅助”作用,而现实也是如此,不论是在linux,Mac,还是windows,都是用C++和java来做东西,而python基本就是测试用,不能以个例代替整体,脚本语言就是脚本语言,与C++之类的比,python就是辅助,python只是强大的胶水,以上观点都是从整体来看的,别给我举个例
xiyoulaoyuanjia 2012-08-28
  • 打赏
  • 举报
回复
做东西选语言 和 不是拿着语言做东西. 不再一个层面上~~
学习阶段还是拿语言做东西的~~
tim_spac_126 2012-08-27
  • 打赏
  • 举报
回复
就纯粹的coder而言,任何program language均无钱景,任何program language均可有乐趣;
钱景源自需求、项目而非语言
一起学IT技能 2012-08-27
  • 打赏
  • 举报
回复
正所谓 人群熙熙皆为利来 我其实想知道的是在钱景上面有没有什么发展
sxhbeckham 2012-08-27
  • 打赏
  • 举报
回复
用python你想干什么就干什么,想找什么库找什么库
rommelx 2012-08-26
  • 打赏
  • 举报
回复
我个人认为Python既是脚本语言,主要功能就不是用来“做东西的”而是起“辅助”作用的。
就好像是开发和测试的感觉。
tim_spac_126 2012-08-24
  • 打赏
  • 举报
回复
大家讲讲 Python 不适合作什么吧,譬如:
1. 对运行效率要求较为苛刻的系统 -- C/汇编的强项
2. 大规模工厂化开发 -- Java的普及型HR
.......(请大家补充还有些啥?)
除此以外都是 Python 能胜任的领域

javacode007 2012-08-24
  • 打赏
  • 举报
回复
Python能做任何你想做的事情,理论上讲, Java 能做的, Python照样能做到(排除开发效率、第三方库支持、运行速度、可维护性等)。
随着学习的深入,就会发现 Python 也是博大精深的一门语言啊
javacode007 2012-08-24
  • 打赏
  • 举报
回复
Python能做任何你想做的事情,理论上讲, Java 能做的, Python照样能做到(排除开发效率、第三方库支持、运行速度、可维护性等)。
随着学习的深入,就会发现 Python 也是博大精深的一门语言啊
Cabbage343 2012-08-23
  • 打赏
  • 举报
回复
python 的好处是明显的, 语法非常的面向对像。 Introspect的功能很强大。
而且可以像命令行一样, 使用python来处理简单小问题。
这是一种很方便的语言。

我用它来做数字设计仿真的模型。 办公自动化,生成Excel表格。
利用wxpython可以做C++程序的快速GUI原型设计(wxpython的一些概念与VC中很类似)。
利用jython 可以使python与Java集成。
另外在不考虑速度的情况下,也可以用它来做图像处理。

python的主要问题在于速度慢,如果要速度快的话,可以先用python开发原型,再移植到其它的程序语言中。
qq120848369 2012-08-23
  • 打赏
  • 举报
回复
做东西选语言, 不是拿着语言做东西.
加载更多回复(4)

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧