代码之家  ›  专栏  ›  技术社区  ›  Dims

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

  •  0
  • Dims  · 技术社区  · 7 年前

    我得到了以下代码:

    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 回复  |  直到 7 年前
        1
  •  3
  •   jacg    7 年前

    不,没有 static_cast

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

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

    如果您可以提供有关表达式类型的更多信息 P曲线。KeyGetValue(lCount) 如果 int(...)