问题标签 [python-datamodel]

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 投票
1 回答
560 浏览

python - 什么可以为大型数据集提供更好的性能?嵌套字典还是对象字典?

当我从多个数据库表中获取数据时,我发现自己在重复这种模式:

我经常不得不以这种方式对数据进行分组,因为我无法跨数据库进行连接,或者可能存在多个查询比多个连接更快的情况。

但在性能方面,我不确定这样嵌套字典是否有很多开销,以及是否可以通过创建具有这些属性的对象来更好地为我提供服务,该对象将成为记录字典中的值。我所说的性能是指使用大量嵌套字典与对象字典时的空间和时间总成本。

0 投票
1 回答
394 浏览

python - 正确使用 __format__

我有一个类,它定义__str__以十六进制返回整数值,并__format__返回使用用户格式规范格式化的值:

所以我希望:

但该str.format调用仅返回格式规范,04X. 我究竟做错了什么?

0 投票
0 回答
44 浏览

python - 自定义二进制操作和 getattr

我想用自定义二元运算符实现一个类,这样

Python 似乎能够为 operator 自动创建反向操作>, >=, <, <=,但是,如果我使用该getattr()方法,NotImplemented则会返回:

在这种情况下,使吸气剂也能正常工作的正确方法是什么?我知道对于其他运营商来说,都有各自的逆向魔法方法,但是上面提到的四种似乎都没有。

0 投票
1 回答
172 浏览

python - 如何使用python对百万行数据进行ETL?

我有一个 pgAdmin 数据库,其中包含数百万行 geojson 格式。使用此表我创建 Tableau 仪表板。由于行包含geojson格式的数据,我必须像这样查询:

当数据有千行时,我曾经将这个数据库与 tableaue 实时连接,但现在数据已经增加,而且会一天天增加。我想使用 ETL 过程创建画面仪表板,我正在考虑Talend,但我想使用 python 以编程方式完成它。

谁能建议我怎么做?

0 投票
1 回答
85 浏览

python - 为什么 str() 不使用 __getattribute__ 来获取 __str__ 以及如何产生效果?

当我调用str()具有重载__getattribute__方法的对象时,它似乎并没有使用它,而是__str__直接调用。是否有其他一些我应该修改的功能或让它使用的方法__getattribute__?如果我直接重载__str__它会按预期运行,但这并不适合我的需求。

输出:
< main .A object at 0x000001FDF7AEA760>
< main .A object at 0x000001FDF7AEA760>
你好

预期输出:
你好
你好
你好

0 投票
1 回答
337 浏览

python - `operator.__inv__` 是为了什么而存在的?

inv和有什么区别invert

我认为这__invert__是一元操作的钩子,例如~1or (1).__invert__()

但是另一个__inv__对应的是什么?或者如果它是相同的,为什么我们有另一个名字和不同的功能来做同样的事情?

0 投票
2 回答
79 浏览

python - python函数比较dunders的使用

问题

Python 函数有比较 dunders(见下面的打印输出)。但他们是NotImplemented。很公平。但是它们的预期用途是什么,如何使用它们?当我分配一个可调用对象时func.__gt__,我没有看到它被调用func < other_func

示例代码

我可以看到使用与(foo > bar)等效的函数lambda x: foo(x) > bar(x),但同样(并且可以说更有用),它可以用于构造管道。

例如,我们可以有

可以用作

然而,越来越好奇,这行不通:

注意:可调用NotImplemented函数 dunders。

生成上述打印输出的代码:

0 投票
1 回答
392 浏览

python - Python:过滤可迭代类

是否有一个Iterable对象可以持有的钩子/dunder,以便可以将内置filter函数扩展到Iterable类(不仅仅是实例)?

当然,也可以写一个自定义filter_iter函数,比如:

这将产生预期的效果。例如,

但是,就像有一个__iter__钩子可以确定如何迭代一个对象(例如,list在对象上调用时应该如何表现),是否有一种__filter__钩子可以确定filter在该对象上调用时应该如何表现?

如果没有,围绕过滤迭代的最佳实践或标准是什么?

0 投票
1 回答
70 浏览

python - 用于制作 python 装饰器类的精益接口

我一直在寻找一个面向对象的设置来制作装饰器工厂。可以在这个 stackoverflow 答案中找到一个简单的版本。但我对界面的简单性并不完全满意。

我设想的那种接口会使用Decora我可以这样使用的特殊类:

这将导致以下行为:

0 投票
1 回答
29 浏览

python - 导入的变量更新未反映在父模块中

我有两个模块,主要和更新。

在 main 中,我声明了一个引用字典和每个值的列表。在更新中,我更新了年龄,但我没有看到更新再次反映在主模块中。

现在,当我回到 main 并打印投资组合 ['goutham'] 时。它仍然将值显示为 [0,0]