如何在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类中设置此默认值的主要内容,如果未能解决你的问题,请参考以下文章