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

Is there static_cast keyword or standard method in Python?

我得到了如下一段代码:

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 有效吗?

没有,Python中没有static_cast

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

例如 int('23') == 23 在 Python 中的计算结果为 True

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