小编Ton*_*iip的帖子

计算两个1D线段的重叠距离

尝试构建一个函数,该函数将返回2个线段之间的总重叠距离,由start和end int表示.

目前我有这个:我在某个地方上网,

def overlap(min1, max1, min2, max2):
    """returns the overlap between two lines that are 1D"""
    result = None
    if min1 >= max2 or min2 >= max1: result =  0
    elif min1 <= min2:
        result = max1 - min2
    else: result = max2 - min1
    return result
Run Code Online (Sandbox Code Playgroud)

这适用于0 100,0,20的情况,它返回100.这显然是错误的.有一种简单的计算方法可以返回正确的值吗?

python geometry

16
推荐指数
2
解决办法
6576
查看次数

静态方法返回其类的实例

类的静态方法是否可以返回其类的新实例.

class Foo(object):
    @staticmethod
    def return_new():
        "returns a new instance of the class"
        new_instance = ???
        return new_instance
Run Code Online (Sandbox Code Playgroud)

我想要它所以Foo的任何子类都将返回子类而不是Foo实例.所以取代??? 与Foo()不会这样做.

python static-methods

6
推荐指数
1
解决办法
2320
查看次数

标签 统计

python ×2

geometry ×1

static-methods ×1