duck-typing

    4熱度

    4回答

    我搜索了一段時間,我找不到一個確定的和一般的答案,只有一些矛盾和特殊的意見。 [1] 所以我想知道鴨子打字和泛型編程之間有什麼關係? (DT < GP,DT == GP,DT> GP)。通過泛型編程,我特別提到了C++模板或Java泛型,但是如果可能的話,與概念相關的一般答案會受到歡迎。 我知道泛型編程將在編譯時處理,而duck輸入將在運行時處理,但我不知道如何定位它們。 最後,我不想開始辯論,所

    4熱度

    2回答

    我正在學習Python和numpy,並且對鴨打字的想法很陌生。我正在編寫函數,其中/某人應該傳遞一個numpy數組。試圖接受鴨子打字,我寫我的代碼使用numpy.array與copy=和ndmin=選項將array_likes或1d/0d數組轉換成我需要的形狀。具體來說,我使用ndmin=選項的情況下,我可以接受(p,p)陣列或標量;標量可以被編碼爲int,(1,)數組,數組(1,1),[1]列表

    1熱度

    4回答

    我遇到了一個scipy函數,它似乎無論傳遞給它什麼都返回一個numpy數組。在我的應用程序中,我只需要能夠傳遞標量和列表,所以唯一的「問題」是當我將一個標量傳遞給函數時,返回一個包含一個元素的數組(當我期望標量時)。我應該忽略這種行爲,還是破解函數以確保當標量被傳遞時標量被返回? 示例代碼: #! /usr/bin/env python import scipy import scipy.o

    2熱度

    3回答

    我有一些代碼,我想通過實例或類交替傳遞。我將在該代碼中執行的所有操作都是調用我期望類和實例都具有的方法(以下示例中的方法爲go())。 不幸的是,我無法用常規方法的相同名稱創建classmethod ...請參閱下面的示例。我最初預計第二次電話會產生一個a而不是一個b。 有關如何實現此目的的任何建議? Type "help", "copyright", "credits" or "license"

    2熱度

    2回答

    考慮下面的代碼: public enum Pet { Cat, Dog } public interface IOwner { Pet Pet { get; set; } } public class Owner : IOwner { public Pet Pet { get

    1熱度

    3回答

    所有「純」功能語言都是強類型的。那些之間有任何聯繫嗎?

    0熱度

    3回答

    有沒有一種方法可以要求模板類型具有屬性? 例如: template <typename T, typename U> void foo() { U a,b; bool truthiness = T()(a,b); if (truthiness) // do something } 那麼,如何將要求T已在operator()(U a, U b)定義

    2熱度

    4回答

    當==(等號)運算符用於比較不同類型時,是否有方法獲取異常?嘗試排序不同類型的對象時,Python 3會引發異常。但==仍然返回False。 還有其他一些方法可以避免難以發現錯誤類型假設導致的錯誤嗎?有什麼設計模式可以幫助嗎? 我在想,例如,某人使用某人的情況下,即使該屬性基本上是一個數字,它仍會始終返回一個字符串,而不會執行xmlparser.get()。

    1熱度

    2回答

    也許我的設計完全沒有重擊,但如果我有2派生類對象是可比較的,但類D1基本上總是> D2類。 (說比較常春藤橋到286)。我如何實施D1類比較來反映不使用isinstance(D2)? 我看到這一點: Comparing two objects 和 If duck-typing in Python, should you test isinstance? 我可以添加一個「類型」屬性,然後比較類型,但

    5熱度

    1回答

    在the manual是說: in general, __lt__() and __eq__() are sufficient, if you want the conventional meanings of the comparison operators 但我看到的錯誤: > assert 2 < three E TypeError: unorderable types: int()