2
我想知道在Python中是否有一種支持type()內置函數的神奇方法,它允許您設置要返回的自定義值。python中是否有一種魔術方法()?
我想知道在Python中是否有一種支持type()內置函數的神奇方法,它允許您設置要返回的自定義值。python中是否有一種魔術方法()?
不,沒有這樣的方法。實例的類型不是在查詢時可以動態更改的,因爲這是特定於類型的行爲,但是您突然無法確定定義該行爲的類型!
您可以分配不同的類instance.__class__
,但隨後你會實質性地改變該實例的行爲,它不是實例本身時type()
被應用到實例然後改變類型。
而不是使用type()
,而是使用isinstance()
和issubclass()
函數,並使用抽象基類型;它是類型對象,然後分別負責聲明特定的類或實例作爲給定類型的子類或實例。他們可以通過__issubclass__
and __isinstance__
hooks執行此操作。
這將實現什麼?你認爲你可以用這個解決什麼問題? –
簡短的回答是:不,沒有這樣的方法。你可以在實例上切換類型(只是將一個不同的類對象分配給'instance .__ class__',但這意味着行爲也會發生變化。 –
我純屬學術興趣 –