Python中是否有static_cast关键字或标准方法?

时间:2017-10-06 13:03:41

标签: python c++ static-cast

我得到了以下代码:

def DisplayListCurveKeys(pCurve, pProperty):
    lKeyCount = pCurve.KeyGetCount()

    for lCount in range(lKeyCount):
        lKeyValue = static_cast<int>(pCurve.KeyGetValue(lCount))
        lKeyTime  = pCurve.KeyGetTime(lCount)

        lOutputString = "            Key Time: "
        lOutputString += lKeyTime.GetTimeString(lTimeString)
        lOutputString += ".... Key Value: "
        lOutputString += lKeyValue
        lOutputString += " ("
        lOutputString += pProperty.GetEnumValue(lKeyValue)
        lOutputString += ")"

        print(lOutputString)

它使用static_cast<int>表达式,类似于C++。它在Python中有效吗?

1 个答案:

答案 0 :(得分:3)

不,Python中没有static_cast

在您显示的示例中,pCurve.KeyGetValue(lCount)(代码中不明显的类型)正在转换为int。您可以尝试仅使用static_cast<int>替换int。如果原始值是某种标量数或表示整数的字符串,这将起作用。

例如,int('23') == 23将在Python中评估为True

如果您可以提供有关表达式pCurve.KeyGetValue(lCount)类型的更多信息,则可能会提出解决方案,如果int(...)方法不起作用。