我一直在阅读Python 3.7的数据类作为namedtuples的替代品(我在组织中对数据进行分组时通常使用的).我想知道dataclass是否与属性装饰器兼容,以定义数据类的数据元素的getter和setter函数.如果是这样,这是在某处描述的吗?或者有可用的例子吗?
我被一个感兴趣的博客文章由Mike槎他比较需要两个函数的时间numpy.zeros((N,N))和numpy.empty((N,N))为N=200和N=1000。我使用%timeit魔法在 jupyter notebook 中运行了一个小循环。下面的图表给出的所需要的时间之比numpy.zero来numpy.empty。对于N=346,numpy.zero比 慢大约 125 倍numpy.empty。在N=361及以上,这两个功能所需的时间几乎相同。
后来,在 Twitter 上的讨论导致了这样的假设:要么numpy为小分配做一些特殊的事情以避免malloc调用,要么操作系统可能会主动将分配的内存页面清零。
造成这种差异的原因是什么N,而较大的所需时间几乎相等N?
通过启动堆溢出编辑:我可以重现它(这就是为什么我来到这里的第1名),这里有一个情节np.zeros和np.empty独立。该比率看起来像 GertVdE 的原始图:
在 Python 3.9.0 64 位、NumPy 1.19.2、Windows 10 Pro 2004 64 位上完成,使用此脚本生成数据:
from timeit import repeat
import numpy as np
funcs = np.zeros, np.empty
number = 10
index = …Run Code Online (Sandbox Code Playgroud) 我正在使用 matplotlib 及其 pgf 后端来生成包含在我的 LaTeX 投影仪文档中的绘图。当我使用未定义的 Latex 命令时遇到了麻烦。但是对于我的应用程序,我不需要 matplotlib 来生成带有乳胶的标签或注释,我只想要一个正确的 pgf 输出,我将在我的投影仪文档上调用 LaTeX。如果我在笔记本中运行此代码,我希望在 xlabel 中有一个带有文字 "\si{\percent}" 的图。
在下面的 MWE 中,当我使用注释行(使用\si{\percent})运行它时,matplotlib 因乳胶错误(“未知命令 si”)而崩溃。我不想用 matplotlib 创建序言,我只想要包含 \si{\percent} 命令的 pgf 输出......
如果我使用双反斜杠,代码会通过,但双反斜杠也会出现在 pfg 输出中,因此乳胶无法识别该命令(我猜它会看到换行符)。
我不明白 plt.rc('text', usetex=False) 的“值”。我认为这会完全禁止调用 LaTeX ......
import numpy as np
import matplotlib as mpl
mpl.use('pgf')
from matplotlib import pyplot as plt
from matplotlib import rc
plt.style.use('bmh')
plt.rc('pgf',rcfonts=False)
plt.rc('text', usetex=False)
x = np.linspace(0,100,101)
y = np.cos(x/100)*np.exp(-x/100)
plt.plot(x,y)
#plt.xlabel(r'value (\si{\percent})')
plt.xlabel(r'value (%)')
plt.savefig('test.pgf')
Run Code Online (Sandbox Code Playgroud)