剛進入Python,我驚訝地發現,似乎沒有一個明顯的方式來正確檢查數據結構,你可以使用Perl的Data :: Dumper模塊。相當於Data :: Dumper的Python - 轉儲原始數據結構以進行檢查?
例如,pprint
將顯示對象的__repr__返回值,而不是告訴我該值是一個對象以及它是什麼類型的對象。
Data :: Dumper會告訴你究竟是什麼數據結構包含什麼,而不是將對象靜靜地轉換爲字符串,這對於數據檢查目的來說絕對沒有用處。
有沒有什麼辦法在Python中打印原始數據結構的轉儲?我想我可以自己創造一些東西,本質上它需要做的就是走一個數據結構,但是一定有什麼能夠做到這一點呢?
編輯:這是__repr__,pprint
解決,而不是__str__,因爲我最初說,至少..事實上?
所以,我認爲我真正需要的是pprint忽略__repr__定義。這是否存在?
它並不能完全解決您的問題,但你可能找到[inspect](http://docs.python.org/2/library/inspect.html)模塊有用,特別是[inspect.getmembers()](http://docs.python.org/2/library/ inspect.html#inspect.getmembers)。用一點粘合劑,這可以讓你自己做深入的反省。 – Cartroo
對我來說,[pickle](http://docs.python.org/2/library/pickle.html)模塊不會被覆蓋'__repr __()'所迷惑,因此檢查可能的源代碼產生一些有用的實用功能。但是,仍然不是您希望的預打包解決方案。 – Cartroo