问题标签 [python]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
29332 浏览

python - Python中最有效的图数据结构是什么?

我需要能够在 python 中操作一个大的(10^7 个节点)图。每个节点/边对应的数据是最少的,比如说,少量的字符串。就内存和速度而言,最有效的方法是什么?

dict 的 dict 更灵活、更易于实现,但我直观地希望列表列表更快。list 选项还要求我将数据与结构分开,而 dicts 将允许以下内容:

你有什么建议?


是的,我应该更清楚我所说的效率是什么意思。在这种特殊情况下,我的意思是随机访问检索。

将数据加载到内存中并不是一个大问题。这是一劳永逸的。耗时的部分是访问节点,以便我可以提取信息并测量我感兴趣的指标。

我没有考虑将每个节点都设为一个类(所有节点的属性都相同),但似乎这会增加额外的开销层?我希望有人对他们可以分享的类似案例有一些直接的经验。毕竟,图是 CS 中最常见的抽象之一。

0 投票
8 回答
286835 浏览

python - 你如何在 Python 中表达二进制文字?

如何使用 Python 文字将整数表示为二进制数?

我很容易找到十六进制的答案:

和八进制:

如何在 Python 中使用文字来表达二进制?


答案摘要

  • Python 2.5 及更早版本:可以使用int('01010101111',2)但不能使用文字来表示二进制。
  • Python 2.5 及更早版本:无法表达二进制文字。
  • Python 2.6 beta:你可以这样做:0b11001110B1100111.
  • Python 2.6 beta:也将允许0o270O27(第二个字符是字母 O)表示八进制。
  • Python 3.0 beta:与 2.6 相同,但不再允许使用旧027的八进制语法。
0 投票
4 回答
2359 浏览

python - 有任何使用协议缓冲区的经验吗?

我只是在查看有关 Google协议缓冲区数据交换格式的一些信息。有没有人玩过代码,甚至围绕它创建了一个项目?

我目前在 Python 项目中使用 XML 来处理在文本编辑器中手动创建的结构化内容,我想知道关于 Protocol Buffers 作为面向用户的输入格式的一般意见是什么。速度和简洁的好处似乎确实存在,但在实际生成和处理数据时有很多因素。

0 投票
4 回答
14647 浏览

python - 如何制作不需要用户按 [enter] 进行选择的菜单?

我有一个 Python 菜单。那部分很容易。我raw_input()用来从用户那里获得选择。

问题是raw_input(和输入)要求用户Enter在做出选择后按下。有没有办法让程序在击键时立即行动?这是我到目前为止所得到的:

有类似的东西会很棒

0 投票
26 回答
405064 浏览

python - Python:我在什么操作系统上运行?

我需要查看什么来查看我使用的是 Windows 还是 Unix 等?

0 投票
18 回答
11450 浏览

python - Python:(1,2,3) 和 [1,2,3] 有什么区别,我应该什么时候使用它们?

在许多地方,(1,2,3)(元组)和[1,2,3](列表)可以互换使用。

我什么时候应该使用其中一种,为什么?

0 投票
3 回答
5002 浏览

php - 通过 FTP 将文件复制到服务器后的文件大小差异

我创建了一个 PHP 脚本来更新位于本地目录中的 Web 服务器。我正在将脚本迁移到 Python 中。它在大多数情况下都可以正常工作,但是在执行 PUT 命令之后,文件的大小似乎发生了变化。因此,文件的大小与服务器上文件的大小不同。

一旦我再次从 FTP 服务器下载文件,唯一的区别就是 CR/LF 标记。这让我很恼火,因为同一个脚本正在比较要更新的文件的大小。此外,如果它意味着什么,该脚本可以通过 ftp_put 在 PHP 中完美运行。

有什么建议么?

0 投票
13 回答
195576 浏览

python - 使用 Python 创建可直接执行的跨平台 GUI 应用程序

Python 可以在多个平台上工作,并且可以用于桌面和 Web 应用程序,因此我得出结论,有一些方法可以将它编译成 Mac、Windows 和 Linux 的可执行文件。

问题是我不知道从哪里开始或如何用它编写 GUI,任何人都可以对此有所了解并指出正确的方向吗?

0 投票
18 回答
926598 浏览

python - 使用模块名称(字符串)调用模块的函数

在 Python 程序中给定带有函数名称的字符串,调用函数的最佳方法是什么。例如,假设我有一个 module foo,并且我有一个字符串,其内容是"bar". 最好的打电话方式是foo.bar()什么?

我需要获取函数的返回值,这就是为什么我不只使用eval. 我想出了如何通过使用eval定义一个返回该函数调用结果的临时函数来做到这一点,但我希望有一种更优雅的方式来做到这一点。

0 投票
86 回答
146162 浏览

python - 教初学者编程的最佳方法?

原始问题

我目前正在教我的兄弟编程。他是一个完全的初学者,但非常聪明。(他实际上想学习)。我注意到我们的一些会议在一些小细节上陷入了困境,而且我觉得我的组织不够有序。(但这篇文章的答案有很大帮助。

我能做些什么来更好地教他?是否有一个逻辑顺序可以用来逐个概念地运行?有没有我应该在以后避免的复杂性?

我们使用的语言是Python,但欢迎任何语言的建议。


如何帮助

如果你有好的,请在你的答案中添加以下内容:

  • 初学者练习和项目构想
  • 初学者教学资源
  • 截屏视频/博客文章/免费电子书
  • 印刷适合初学者的书籍

请用链接描述该资源,以便我查看。我想让每个人都知道,我肯定一直在使用其中的一些想法。您提交的内容将汇总在此帖子中。


面向初学者的在线资源:


推荐给初学者的印刷书籍