gpt4 book ai didi

python - 使用参数验证 Python 数据转换以获得预期结果

转载 作者:行者123 更新时间:2023-12-01 06:30:38 25 4
gpt4 key购买 nike

我正在编写一个 Python 函数库来转换数据集,对于每个函数,我需要对转换后的数据进行一些基本检查:

  1. 转换后数据集中不应有负值
  2. 转换后的数据集中所有值的总和应与转换前的值的总和成某个指定的比例。

对于第一个任务,我可以为所有函数指定一个名称类似于 check_for_negatives 的装饰器。

然而,对于第二个任务,输出与输入的比率将随着对特定函数的每次调用而变化,具体取决于输入参数 - 因此调用者可能期望数据集的总和保持不变,或者为 x1。 5、对于同一函数的不同调用。

我能看到使用装饰器做到这一点的唯一方法是让装饰器检查输入:输出比率,但将预期比率作为参数传递给函数本身(尽管函数不会直接使用它) )。这看起来不太好;有更好的办法吗?

最佳答案

您可以使用类作为装饰器,以便可以定义可以在运行时更改的实例变量。实现示例here

在您的情况下,您将有一个 ratio 实例变量,以便在每次调用装饰函数 foo 之前您可以设置 foo.ratio到适当的值。

关于python - 使用参数验证 Python 数据转换以获得预期结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59928153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com