2017-10-06 215 views
0

我得到了下面的代碼段:Python中是否存在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中有效嗎?

+0

相關:https://stackoverflow.com/questions/30104945/static-cast-equivalent-in-python – user463035818

回答

3

不,Python中沒有static_cast

在您顯示的示例中,pCurve.KeyGetValue(lCount)(其類型在代碼中不明顯)正在投射到int。您可以嘗試用int代替static_cast<int>。如果原始值是某種標量數字或表示整數的字符串,這將起作用。例如int('23') == 23將在Python中評估爲True

如果您可以提供有關表達式pCurve.KeyGetValue(lCount)類型的更多信息,則可能會提出解決方案(如果int(...)方法不起作用)。

+0

我認爲有人從C++移植並忘記了這部分。由於我是Python新手,我不確定Python不允許這樣的構造。 – Dims

相關問題