如何在python类中设置此默认值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在python类中设置此默认值相关的知识,希望对你有一定的参考价值。

我正在编写一个表示平行四边形的类,属性为sideAB,sideDA和angleA,angleA的默认值为90,sideDA的默认值应该与sideAB相同,我不是确定如何实施。这是我尝试过的

class Quad( object ):

def __init__( self, AB, DA=AB, A=90 ):


    self.sideAB = AB
    self.sideDA = DA
    self.angleA = A

我得到错误:未定义名称'AB',这是有道理的。任何帮助,将不胜感激

B _____ C

A | _____ | D

尝试画边,希望对您有帮助

答案
其他参数只能从函数定义中访问(因此您不能具有默认参数DA=AB)。处理此问题的一种方法是默认为None,然后在函数中对None进行特殊解释。

class Quad: def __init__(self, AB, DA=None, A=90): self.sideAB = AB self.sideDA = AB if DA is None else DA self.angleA = A square = Quad(10) rect = Quad(10,20) rhombus = Quad(10,A=30) parallelogram = Quad(10,20,30)

以上是关于如何在python类中设置此默认值的主要内容,如果未能解决你的问题,请参考以下文章

如何根据现有的 NSManagedObject 值在 NSManagedObject 派生类中设置默认值?

JBoss事务超时设置?

在 Grails 域类中设置日期字段的默认值

MVC3:在“仅代码”中设置默认值

如何在 Laravel 模型上设置属性的默认值 [重复]

如何在 Python 中使用类变量作为默认参数值