如何在Python上将派生单位添加为新单位?

时间:2018-10-25 03:22:01

标签: python-3.x

我有一个Unitmodule,可以注册简单的单位,例如m,kg,s,并将其转换为新的派生单位,例如:velocityunit:m ^ 1 s ^ -1

下一步,我尝试在具有abbname的单位系统中注册派生单位,例如N(Newton):kg ^ 1 m ^ 1 s ^ -2

换句话说,我想用N代替kg ^ 1 m ^ 1 s ^ -2

因此,我尝试制作'DerivedUnit'类,并尝试输入N作为新单位,但是此代码仅打印'SyntaxError:EOL,同时扫描字符串文字'

此代码有什么问题?

  from UnitModule import *

MKSsystem = UnitSystem( LengthUnit('m'), MassUnit('kg'), TimeUnit('s') )
CGSsystem = UnitSystem( LengthUnit('cm'), MassUnit('g'), TimeUnit('s') )
FPSsystem = UnitSystem( LengthUnit('inch'), MassUnit('lb'), TimeUnit('s') )

class DerivedUnit(object):

    def __init__(self, abbname, fullName=None, unitsSys=None, unitsStr=''):
        self.Name = abbname
        self.FullName = fullName
        self.Units = Units(unitsSys, unitsStr)       

    def getFullName(self):
        return self.FullName

    def getName(self):
         return self.Name

    def getString(self):

        return str(self.Value) + ' ' + self.Units.getUnitsString()

    def getUnits(self):

        return self.Units.copy()

    def setUnits(self, inputUnits):

        self.Units = inputUnits

    def getName(self):

        return self.Name

0 个答案:

没有答案