相关疑难解决方法(0)

3360
推荐指数
24
解决办法
73万
查看次数

类方法的目的是什么?

我正在教自己Python,我最近的教训是Python不是Java,因此我花了一些时间将所有的Class方法转换为函数.

我现在意识到我不需要使用Class方法来处理staticJava中的方法,但现在我不确定何时使用它们.我能找到的关于Python类方法的所有建议都是像我这样的新手应该避开它们,而标准文档在讨论时最不透明.

有没有人有一个在Python中使用Class方法的好例子,或者至少可以有人告诉我什么时候可以明智地使用Class方法?

python class-method

244
推荐指数
13
解决办法
13万
查看次数

Python继承:返回子类

我在超类中有一个函数,它返回一个自己的新版本.我有一个继承特定函数的超类的子类,但宁愿它返回子类的新版本.我如何对其进行编码,以便当函数调用来自父级时,它返回父级的版本,但是当从子级调用它时,它会返回子级的新版本?

python inheritance

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

需要python函数中的命名参数

我创建了一个类,我想给用户(可能是我)两种不同的方法来初始化它.对于这个例子,该类被调用Box,我想用以下任一方式初始化它:

  1. 两组笛卡尔坐标,代表最小值和最大值(x,y).

  2. 一组笛卡尔坐标,表示最小值和方框尺寸

我可以通过使用命名参数来完成此操作,但是如果没有调用命名参数,我想引发错误.我的当前代码在调用pass_var没有命名参数的情况下调用伪参数.它有效,但我认为必须有更优雅或Pythonic的解决方案.

class Box(object):

    def __init__(self, pass_var=None, coordinates=None, min_points=None, dimensions=None):
        if coordinates:
            setup_box_from_coordinates()
            return
        elif min_points and dimensions:
            setup_box_from_dimensions()
            return
        raise NameError("Box Class needs to be initiated with 'coordinates='' or 'min_pts= & dimensions='"
Run Code Online (Sandbox Code Playgroud)

python named-parameters

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