在python中, 通過obj.method()調用一個方法默認會傳入實例本身作為參數. 在類中定義方法時, 第一個參數也總是self. 如果想要通過實例調用一個不需要接收self參數的方法, 需要用到@staticmethod裝飾器.
在實例中直接調用不接收self參數的函數:
運行結果:
提示print_count函數不接收參數, 但是調用時提供一個參數.
使用@staticmethod方法:
運行結果:
此時的print_count函數和add函數相當於一個普通的函數, 使用實例調用時不會自動將實例作為參數傳入.