小编Sam*_*oon的帖子

如何使用`functools.lru_cache`正确装饰`classmethod`?

我试图 classmethodfunctools.lru_cache. 我的尝试失败了:

import functools
class K:
    @functools.lru_cache(maxsize=32)
    @classmethod
    def mthd(i, stryng: str): \
        return stryng

obj = K()
Run Code Online (Sandbox Code Playgroud)

错误消息来自functools.lru_cache

TypeError: the first argument must be callable
Run Code Online (Sandbox Code Playgroud)

python static-methods decorator python-3.x python-decorators

7
推荐指数
2
解决办法
2055
查看次数

如何为我自己的用户定义类覆盖可变参数函数中用于 kwargs 的 `**` 运算符?

我希望能够解压我自己的类似字典的类。

class FauxDict:
    def __getitem__(self, key):
        return 99
    def __iter__(self):
        return range(0, 1)
    def to_map(self):
        return map(lambda x: True, range(0, 2))

def bar(**kwargs):
    pass

dct = {"x":1, "y":2}
bar(**dct) # no error

dct = FauxDict()
bar(**dct) # error

dct = FauxDict()
bar(**dct.to_map()) # error
Run Code Online (Sandbox Code Playgroud)

错误是:

bar(**dct) # error
TypeError: bar() argument after ** must be a mapping, not FauxDict

bar(**dct.to_map()) # error
TypeError: bar() argument after ** must be a mapping, not map
Run Code Online (Sandbox Code Playgroud)

另外,哪个python类在技术上有资格作为映射?

python variadic-functions python-3.x

5
推荐指数
1
解决办法
117
查看次数

我们该如何写一个什么都不做的`except`语句?

我想要一个try-block,以便-block 内部引发的任何异常都try无法处理。这样我就可以编写一个try块来为将来做准备。有一天,我将写一些有意义的错误处理。但是,我还没有真正的except陈述。以下是作品,但很难看

_ = type("", (Exception,), dict())

try:
    lizard = [1, 2, 3]
    y = z + w
    print(lizard[983])
except _:
    print("I hope this string never prints")
Run Code Online (Sandbox Code Playgroud)

python exception try-catch python-3.x

3
推荐指数
1
解决办法
54
查看次数

如何在此类图像中找到最大的空白空间?

我想在类似于我在下面发布的图像中找到空白区域(黑色区域),其中散布着大小随机的块。

在此处输入图片说明

通过空白空间,我指的是这种可能的开放领域(我对该区域没有特别的下限,但我想提取图像中出现的前 3-4 个最大的区域。)对几何形状也没有限制他们可以拿走,但这些空位不能包含任何蓝色方块。

在此处输入图片说明

解决这个问题的最佳方法是什么?

到目前为止我所做的:

我的原始图像实际上是这样的。我确定了所有的点,根据一定的距离阈值对它们进行分组,并在它们周围应用凸包。我不确定如何进一步进行。任何帮助将不胜感激。谢谢!

在此处输入图片说明

python algorithm opencv image-processing

2
推荐指数
1
解决办法
121
查看次数

如何使用正则表达式将字符串的开头(在用户指定的字符之前)放入组中?

在这里提出这个问题,但是我不想要python特定的解决方案。它应该可以在JavaScript和任何其他主流语言中工作。它必须是一个正则表达式。

假设分隔符为“ !

下表显示了一些示例输入的期望行为

+------------------------+--------+
|         INPUT          | OUTPUT |
+------------------------+--------+
| "aaaa!bbbb"            | "aaaa" |
| "aaaa"                 | "aaaa" |
| "aaaa!bbbb!ccccc!dddd" | "aaaa" |
| "aaaa!"                | "aaaa" |
| "!aaaaa"               | ""     |
+------------------------+--------+    
Run Code Online (Sandbox Code Playgroud)

我尝试以下无济于事:

^[^!]*$(!)

python regex regex-negation regex-group

0
推荐指数
1
解决办法
33
查看次数