小编Jor*_*ado的帖子

使用诗歌打包使用 cython 的库的最佳实践

我一直习惯于poetry开发 python 包。现在我想在一个新项目中使用 Cython,但我对如何构建库有点困惑,是否使用 asetup.py而不是使用poetry

我看过关于如何在包中包含代码(带有 a )但不使用诗歌的帖子(像这样)。其他人,这个(和这个)确实如此,但它们依赖于脚本,并且其中一个评论中说,如果未安装,该方法将不起作用。cythonsetup.pybuild.pygcc

那么,使用诗歌打包(并发布到 PyPI)使用 cython 的库的最佳实践是什么?

python cython pypi python-poetry cicd

5
推荐指数
0
解决办法
911
查看次数

为什么反汇编 python 类定义显示两个相同的 LOAD_CONST 和类名?

我想知道为什么在LOAD_CONST定义一个类时,python 会两次使用相同的值(类名)。当我运行此代码时:

from dis import dis

dis("class A(): pass")
Run Code Online (Sandbox Code Playgroud)

这是我得到的输出:

  1           0 LOAD_BUILD_CLASS
              2 LOAD_CONST               0 (<code object A at 0x0000021DCE681B70, file "<dis>", line 1>)
              4 LOAD_CONST               1 ('A')
              6 MAKE_FUNCTION            0
              8 LOAD_CONST               1 ('A')
             10 CALL_FUNCTION            2
             12 STORE_NAME               0 (A)
             14 LOAD_CONST               2 (None)
             16 RETURN_VALUE

Disassembly of <code object A at 0x0000021DCE681B70, file "<dis>", line 1>:
  1           0 LOAD_NAME                0 (__name__)
              2 STORE_NAME               1 (__module__)
              4 LOAD_CONST               0 ('A')
              6 STORE_NAME               2 (__qualname__)
              8 …
Run Code Online (Sandbox Code Playgroud)

python class disassembly python-3.x

4
推荐指数
1
解决办法
63
查看次数

按值从 KeyValuePair 列表中删除重复项

KeyValuePair我有一个C# 格式的列表,格式为KeyValuePair<long, Point>. 我想从列表中删除具有重复值的项目。

具有坐标的 Point 对象{X,Y}

样本数据:

List<KeyValuePair<long, Point>> Data= new List<KeyValuePair<long,Point>>();
Data.Add(new KeyValuePair<long,Point>(1,new Point(10,10)));
Data.Add(new KeyValuePair<long,Point>(2,new Point(10,10)));
Data.Add(new KeyValuePair<long,Point>(3,new Point(10,15)));
Run Code Online (Sandbox Code Playgroud)

期望的输出:

1,(10,10)    
3,(10,15)
Run Code Online (Sandbox Code Playgroud)

c# keyvaluepair

4
推荐指数
1
解决办法
932
查看次数