网站搜索
Python 的 str 对象没有内置的 reverse 方法。如何反转字符串?
使用切片:
>>> 'hello world'[::-1] 'dlrow olleh'切片表示法采用 [start:stop:step] 的形式。在这种情况下,我们省略了 start 和 stop 位置,因为我们想要整个字符串。我们还使用 step=-1,这意味着“从 1 个字符重复从右到左步”。
我自
阅读更多 →float('nan') 表示 NaN (不是数字)。但是我该如何检查呢?
使用 math.isnan:
>>> import math >>> x = float('nan') >>> math.isnan(x) True测试 NaN 的常用方法是查看它是否等于自身:
def isNaN(num): ret 阅读更多 →我有一系列的 20 个情节(不是子情节)要制作成一个图形。我希望图例开箱即用。同时,我不想更改轴,因为图形的大小会减小。
有多种方法可以做你想做的事。 为了补充 Christian Alis 和 Navi 已经说过的内容,您可以使用 bbox_to_anchor 关键字参数将图例部分放置在轴之外和/或减小字体大小。
在考虑减小字体大小(这会使内容变得非常难以阅读)之前,请尝试将图例放在不同位置:
那么,让我们从一个通用示例开始:
import matplotlib.pyplot as plt import numpy as np x = np.arange(10) fig = plt.figure() ax = plt.sub 阅读更多 →为什么下面的类声明继承自 object?
class MyClass(object): ...在 Python 3 中,除了 Python 2 和 3 之间的兼容性之外,没有原因。在 Python 2 中,有很多原因。
阅读更多 →我想在 Python 中编写一个函数,该函数根据输入索引的值返回不同的固定值。
在其他语言中,我会使用 switch 或 case 语句,但 Python 似乎没有 switch 语句。 在这种情况下,推荐的 Python 解决方案有哪些?
Python 3.10 (2021) 引入了 match-case 语句,该语句为 Python 提供了 “switch” 的一流实现。例如:
阅读更多 →如何将以下包含 if/else 的 for 循环转换为列表推导式?
results = [] for x in xs: results.append(f(x) if x is not None else '')如果 x 为 None,则应生成 '' ,否则为 f(x)。我试过了:
[f(x) for x in xs if x is not None else ''] 阅读更多 →Project Euler 和其他编码竞赛通常有最长的运行时间,或者人们吹嘘他们的特定解决方案运行得有多快。使用 Python 时,有时方法有些笨拙 - 即,向 __main__ 添加计时代码。
分析 Python 程序运行需要多长时间的好方法是什么?
Python 包括一个名为 cProfile 的分析器。它不仅提供总运行时间,还单独计算每个函数的计时,并告诉您每个函数被调用了多少次,从而可以轻松确定应该在哪些方面进行优化。
您可以从代码中或解释器中调用它,如下所示:
import cProfile cProfile.run('foo()')更有用的是,您可以在运行脚本时调用 cProfile:
python -m cProfile myscript.py 阅读更多 →这个问题不是为了讨论单例设计模式是否可取,是否是一种反模式,或任何宗教战争,而是讨论如何以最 pythonic 的方式在 Python 中最好地实现这种模式。在这种情况下,我将 'most pythonic' 定义为它遵循 “最小惊讶原则”。
我有多个类会变成单例(我的用例是 Logger,但这并不重要)。我不想在我可以简单地继承或装饰时用额外的口香糖弄乱几个类。
最佳方法:
如何从 Python 中的路径获取不带扩展名的文件名?
"/path/to/some/file.txt" → "file"使用 pathlib。路径.stem
>>> from pat 阅读更多 →我在 __init__.py 文件中看到__all__。它有什么作用?
链接到但此处未明确提及的正是 __all__ 的使用时间。它是一个字符串列表,定义在模块上使用 from <module> import * 时将导出模块中的哪些符号。
例如,foo.py 中的以下代码显式导出符号 bar 和 baz:
__all__ = ['bar', 'baz'] waz = 5 ba 阅读更多 →