3717得票24回答
将字节转换为字符串在Python 3中。

我将外部程序的标准输出捕获到一个 bytes 对象中: >>> from subprocess import * >>> stdout = Popen(['ls', '-l'], stdout=PIPE).communicate()[0] >>...

2983得票12回答
为什么在Python 3中"1000000000000000 in range(1000000000000001)"速度如此之快?

据我所知,实际上是Python 3中的对象类型的range()函数会动态生成其内容,类似于生成器。 既然如此,我本来期望以下这行代码需要花费很长时间,因为为了确定1千万亿是否在范围内,必须生成千万亿个值: 1_000_000_000_000_000 in range(1_000_000_0...

1825得票16回答
在现代Python中,声明自定义异常的正确方式是什么?

在现代Python中,如何正确声明自定义异常类?我的主要目标是遵循其他异常类的标准,这样(例如)任何我在异常中包含的额外字符串都会被捕获异常的工具打印出来。 所谓“现代Python”,是指能在Python 2.5中运行,但对于Python 2.6和Python 3.*的做法是“正确”的。而所...

1658得票32回答
Python 3 中的相对导入

我想从同一目录下的另一个文件中导入一个函数。 通常,以下其中之一可以起作用:from .mymodule import myfunction from mymodule import myfunction ...但是另一个会给我其中一个错误:ImportError: attempted rel...

1626得票7回答
1458得票5回答
Python 3 中将字符串转换为字节的最佳方法是什么?

TypeError: 'str' does not support the buffer interface 提供了两种将字符串转换为字节的可能方法: b = bytes(mystring, 'utf-8') b = mystring.encode('utf-8') 哪种方法更符合Py...

1276得票13回答
如何在Python中将字典键返回为列表?

使用Python 2.7,我可以将字典的 keys、values 或 items 作为一个 list 获取: >>> newdict = {1:0, 2:0, 3:0} >>> newdict.keys() [1, 2, 3] 使用 Python >...

1226得票15回答
我应该在Python脚本中加入#!(shebang)吗?如果需要,它应该采用什么形式?

我应该在我的Python脚本中放置shebang吗?以什么形式呢?#!/usr/bin/env python 或者#!/usr/local/bin/python 这两种方式是否同样可移植?哪一种形式被广泛使用? 注意:Tornado项目使用 shebang,而Django项目则不使用。

1220得票9回答
如何使用封闭类的类型对方法进行类型提示?

我有以下Python 3代码:class Position: def __init__(self, x: int, y: int): self.x = x self.y = y def __add__(self, other: Positio...

1141得票43回答
如何在Python中表示“枚举”?

我主要是一名C#开发人员,但现在正在用Python开展项目。 在Python中如何表示与枚举等效的结构?