【问题标题】:Is there static_cast keyword or standard method in Python?Python 中是否有 static_cast 关键字或标准方法?
【发布时间】:2017-10-06 13:03:40
【问题描述】:

我得到以下代码:

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&lt;int&gt; 表达式,类似于C++。它在 Python 中有效吗?

【问题讨论】:

标签: python c++ static-cast


【解决方案1】:

不,Python 中没有 static_cast

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

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

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

【讨论】:

  • 我认为有人从 C++ 移植并忘记了这部分。由于我是 Python 新手,我不确定 Python 是否允许这样的构造。
猜你喜欢
  • 2010-11-14
  • 2010-09-16
  • 1970-01-01
  • 1970-01-01
  • 2023-01-18
  • 1970-01-01
  • 1970-01-01
  • 2010-09-17
相关资源
最近更新 更多