我是一名网络开发人员,通常使用PHP,JavaScript或MySQL 我听说过很多关于Python的内容。但我不知道它在哪里使用以及为什么使用它。
就像PHP,ASP,ColdFusion,.NET一样用来构建网站,和 C,C ++,Java用于构建软件或桌面应用程序。
Python在哪里适合?
Python可以做些什么,这些其他语言不能做?
答案 0 :(得分:23)
Python最初是像Perl一样的Linux脚本语言,但不那么神秘。现在它既可用于Web应用程序,也可用于桌面应用程序,也可在Windows上使用。像GTK这样的桌面GUI API具有Python implementations和基于Python的Web框架,如Django,比许多人更喜欢PHP等人。用于Web应用程序。
顺便说一句,
答案 1 :(得分:17)
你提到的所有语言都是Turing Complete,所以从理论上讲,没有人可以做,而另一些则不能。当然,在实践中,存在差异,特别是在生产力和效率方面。与静态类型的C,C ++和Java相比,Python是一种动态语言,可以帮助您以相当少的行编写相同的代码。 Python有一个moto“包含电池”,这意味着标准库提供了构建复杂应用程序所需的所有东西。其他语言需要外部库。除此之外,由于Python是一种古老而成熟的语言(比Java早),许多外部库(用于游戏开发和科学计算,仅举几例)已经发展。因此,Python可用于编写桌面应用程序,实际上在某些情况下可以比其他传统语言更有效。
Python也是一种脚本语言。这意味着您可以使用它轻松快速地编写脚本和简单测试。
最近,python也用于Web框架。由于有一个很大的代码库和许多python程序员,这是合乎逻辑的事情。这些Web框架遵循Ruby on Rails主要引入的实践。
答案 2 :(得分:13)
除了少数例外,Python几乎被用于任何知道Python的程序员想要专注于解决问题而不是在实现细节上苦苦挣扎的地方。你会发现它in games,web applications,network servers,scientific computing,media tools,application scripting等等(有些组织使用它here有一些旧名单。)知道它的人倾向于love it,因为它简洁明了,并且(可能是在较小程度上)因为它有一套丰富的有用库。
Python使用不多的地方:
答案 3 :(得分:2)
您的分类不正确:
php,asp和ColdFusion主要用于网站,这是正确的,但.net绝对比你可以构建桌面应用程序的更多(Paint.NET)。我不了解ColdFusion,但PHP也可以用来编写桌面应用程序。
另一方面,C,C ++并不经常用于Web编程,但它可以用于Web编程(cgit)。 Java绝对是开发Web应用程序的语言(spring等等)。
Python是一种脚本语言,如PHP,Perl,Ruby等等。它可用于网络编程(django,Zope,Google App Engine等等。但它也可用于桌面应用程序(Blender 3D,甚至用于游戏pygame)。
Python也可以翻译成二进制代码,如java。
答案 4 :(得分:2)
许多网站使用Django或Zope / Plone Web框架,这些都是用Python编写的。
Python经常被用于编写系统管理软件,通常当bash脚本(shell脚本)不能胜任工作时,但是使用C / C ++是一种过度杀伤力。这也是perl,awk等所代表的频谱。 Gentoo的emerge / portage就是一个例子。 Mercurial / HG是一个用python编写的分布式版本控制系统(DVCS)。
许多桌面应用程序也是用Python编写的。最初的Bittorrent是用python编写的。
Python还可用作GIMP,Inkscape,Blender,OpenOffice等的脚本语言.Python允许高级用户编写插件并访问通常无法通过GUI使用的高级功能。
答案 5 :(得分:1)
Python用于开发网站。它比php更高级。 Python用于linux dekstop应用程序。例如,大多数Ubuntu配置实用程序都是pythonic。
答案 6 :(得分:1)
Python对于统计模型或物理模拟等科学计划也很有用。我已经完成了monte-carlo程序,并使用VISUAL模块对阿波罗任务进行了3D模拟。