動態類型語言(即Python)在運行時執行類型檢查,因此變量或參數可以引用任何類型的值。 語言定義是否需要變量和參數不能輸入? 將語言修改爲具有類型的變量和參數是否有意義?動態類型語言中的類型
0
A
回答
1
這個問題可能會得到關閉,除非有人像@喬恩 - 碟擺好保存。直到那時,我相信任何來自強類型編程背景的人都會爭論至少指定打字的選項。但是在這一天結束時,語言的創建者/修飾者不喜歡足夠的輸入要求,所以不會付出任何努力來允許指定類型的可能性。所以即使它真的很有意義,我也不會指望它發生。
從我簡短的研究,它顯示python不允許指定類型。但你可以使用isinstance檢查類型http://docs.python.org/library/functions.html#isinstance
現在作爲個人意見的問題,我說爲什麼不。如果相關語言的維護者/創建者可以以不影響效率/語言實際意圖的方式進行操作,那麼他們至少應該允許有興趣的人添加指定類型的能力來執行此操作。
0
您可以混合使用靜態和動態類型;有很多語言可以做到這一點。
在最簡單的情況下,您將擁有包含所有類型爲object
(使用Python術語)的類層次結構。每個「無類型」變量都有object
類型,因此它可以容納任何變量。其他變量可能有更多特定類型,如int
。
實現仍然需要執行運行時類型檢查,但它可以優化掉編譯時可以確定類型的檢查。
Cython有類似的功能,但它的靜態類型部分卸載到一個C編譯器:
def foo():
cdef int i = 0 # statically typed variable
ham = "spam" # dynamically typed variable
while i < 10:
print(ham)
i += 1
相關問題
- 1. 動態類型語言中的文檔
- 2. 口譯員和動態類型語言
- 3. 以動態語言檢查類型
- 4. 用動態類型語言重構
- 5. 在靜態類型語言D中使用動態類型輸入
- 6. 自然語言類型的子類型
- 7. 靜態類型語言的類型在運行時決定?
- 8. 弱類型或強類型語言
- 9. 是不需要聲明變量類型的弱語類型或動態類型示例的語言的質量
- 10. 在動態類型語言中切換case語句
- 11. 泛型類型,編譯器和動態語言
- 12. 設計模式列表僅適用於靜態類型語言,但不適用於動態類型語言?
- 13. 彙編語言的類型
- 14. Groovy中動態類型的類型
- 15. 在鴨子型語言中模擬靜態類型的方面
- 16. 瞭解解釋動態語言中的類型檢測
- 17. 動態類型語言中的快速屬性查找?
- 18. 如何處理動態語言中的錯誤參數類型?
- 19. 獲取動態類型的類類型?
- 20. 如何用動態類型語言指定參數類型,即Python?
- 21. Prolog是一種無類型的語言嗎? Prolog和動態類型語言有什麼區別?
- 22. 如何在動態類型語言中描述函數參數?
- 23. 對象類型語言
- 24. c語言類型轉換
- 25. 聲音類型系統的語言是強類型語言的子集嗎?
- 26. 動態類型
- 27. 值得動態類型語言的所有批評?
- 28. R語言中的可選類型
- 29. C語言中的Lazarus指針類型#
- 30. MYSQL中的多語言數據類型
您原來的問題已關閉。你需要做的不是輕微的措詞改變,而是再次提問。 – Abizern 2013-05-07 15:37:41
多種語言可以做到這一點:漸進式輸入,動態類型語言的類型推斷,契約,你的名字。 – 2013-05-07 15:42:28
提問的方式有什麼問題? – akonsu 2013-05-07 15:47:26