我是一名业余程序员(之前只接触过 TI-Basic),在与自己进行了很多很多的争论之后,我决定学习 Python。我没有大量的空闲时间来自学一百种语言,而且我所做的所有编程都将供个人使用或分发给需要它们的人,所以我决定我需要一门优秀、强大的语言来擅长。我的问题:

  1. python 是否强大到足以处理典型程序员在业余时间可能做的大多数事情?我想到的事情包括基于桌面游戏用户输入的复杂统计生成器、制作小游戏、自动化安装过程以及构建交互式网站,但可能有一百种类似的事情

  2. python 能够很好地处理网络任务吗?

  3. python 源代码是否可以被混淆,或者它本质上是开源的?我问这个的原因是因为如果我做了一些很酷的东西并分发它,我不希望一些白痴脚本小子编辑他自己的名字并说他写了它

  4. 与其他语言相比,Python 有多受欢迎。理想情况下,我的语言在网上找到的帮助下会很好而且很有用,没有太大的困难,但不会那么普遍,以至于每个计算机白痴都知道Python。我喜欢了解一门稍微晦涩的语言。

非常感谢您提供的任何帮助。

有帮助吗?

解决方案

Python能力足以处理大多数事情吗?

是的。时期。学习 夏娃在线 游戏了解更多信息。看着 pygame 框架。免费免费使用Google查找更多。

Python处理网络任务是否很好?

是的。看看 Python Web 框架的数量加上 扭曲的框架. 。请随意使用 Google 搜索 Python 网络。

python源码可以混淆吗?

没有用处。这不是C。

与其他语言相比,Python有多受欢迎?

看着那(这 TIOBE指数.

其他提示

我认为Python非常强大,可以做很多事情,但就像Java和C++一样,它通常依赖于良好的第三方库。我有 Java 背景,但使用 Python 来做很多事情,这是一次有趣的旅程。我做过统计和自动化等工作,但不确定用户界面,尽管这通常更多地取决于工具包而不是语言。

Python 网络运行良好。我不知道我是否会使用它来构建快速算法交易系统或 VOIP 应用程序,但对于大多数意图和目的,尤其是在更高的抽象级别,它很好且易于使用。您需要外部库来实现 SSH 或 FTP 等功能。

Python 非常流行,并且拥有非常好的在线支持、活跃的社区以及使用它的大公司(如 Google)。我发现官方在线教程和参考资料非常好。

我不得不说我不同意“每个白痴都拥有一台电脑”的说法。了解一门语言和正确使用它之间是有区别的,对于每种语言都是如此,甚至是自然语言:) Python 确实有很多功能元素,对于来自过程背景的人来说使用起来并不那么简单,所以总是有成长空间。

与 C 和 Java 等语言相比,Python 的一个问题是它不是静态类型的。这使得 快多了 编写代码,但也使得犯错误变得非常容易,而这些错误很难调试。例如,同一个变量可以在某个点包含一个 String 引用,而在另一个点可以包含对字符串列表的引用。

  1. 绝对地。
  2. 什么类型的网络?它内置了套接字、http、xml、smtp/pop、telnet 等。
  3. Python 混淆不会像编译语言那样好。通常这不是问题。
  4. 这是 stackoverflow 上第九个最受欢迎的标签, ,因此有很多可用的帮助。

python 是否强大到足以处理典型程序员在业余时间可能做的大多数事情?我想到的事情包括基于桌面游戏用户输入的复杂统计生成器、制作小游戏、自动化安装过程以及构建交互式网站,但可能有一百种类似的事情

确实。Python 对于所有这些方面来说都是一个很好的工具,除了自动化安装过程之外,它可能是正确的工具,但更可能的是,正确的工具可能取决于您具体自动化的内容。

python 能够很好地处理网络任务吗?

是的。你会想要调查一下 扭曲的.

python 源代码是否可以被混淆,或者它本质上是开源的?我问这个的原因是因为如果我做了一些很酷的东西并分发它,我不希望一些白痴脚本小子编辑他自己的名字并说他写了它

“开源”是指代码的许可,而不是其源代码的可见性。隐藏 Python 源代码并不是特别可能,并且反编译 Python 字节码的结果将产生比 C 等语言中的等效工具更具可读性的代码。 不用担心这个! 如果人们愿意违法,您就无法阻止他们偷走您的汽车或计算机,并且您也无法对任何语言的代码执行相同的操作。

与其他语言相比,Python 有多受欢迎。理想情况下,我的语言在网上找到的帮助下会很好而且很有用,没有太大的困难,但不会那么普遍,以至于每个计算机白痴都知道Python。我喜欢了解一门稍微晦涩的语言。

这是一个无法回答的问题。谷歌会给你很多不同指标的相互矛盾的结果,其中大多数都是有用的。你也有点傻了;)


就学习材料而言,我推荐 如何像计算机科学家一样思考, ,这是一篇很好的文章,不需要任何现有的编程知识。它可以在线免费获得,或者如果您愿意,也可以购买印刷版。(先别费心去学习 3.x。没有足够的库支持来做很多有用的事情,就像你想做的那样,当有的时候,拿起它就会轻而易举;它与 2.5/6/7 没有太大区别。)

  1. 可能是。也许统计数据处理会有点慢,也许游戏取决于什么类型的游戏,但通常性能足够好,并且您可以在实际编程上节省大量时间。如果你真的需要性能,你可以用 C 语言制作一个模块,但通常会有一个库来完成你想要的事情。

  2. 我没用过,不过有一个框架叫 扭曲的 这似乎相当不错。

  3. 不。字节码可以轻松反编译,并且仅适用于特定版本的 Python,因此您的代码不那么可移植。

  4. Python 非常流行,并且 Python 包索引 有大量第三方库。它不像 Java 那样广泛,但是很多人都使用它,并且您可能可以获得您想要的答案。

第 1 点和第 2 点:是啊。

第4点:有点儿。Python 擅长一些网络方面的东西。它不是 Java 或 C++。只需使用 zlib(zip 库)和 pickle(序列化)即可完成所有操作,如果需要 IPC,请查看 xmlrpclib。

第3点:不。但是,您可以编写代码的 C 模块(用于性能关键且难以复制的部分),这将使逆向工程变得非常重要。

Python 能够胜任(而且更好)1、2 和 4 的任务。

根据您所描述的 3 的最佳解决方案可能是使用 GPL 或 BSD 之类的许可证使您的程序真正开源。通过这种方式,人们将编辑您的超级酷源(但通常是经验丰富的程序员,而不仅仅是脚本小子)并在此基础上进行构建,但为后代留下您的名字。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top