@staticmethod怎么用?


早上起來寫個小demo, 類中寫了個方法, pycharm給這個方法加上了莫名其妙的波浪線, 對於一個有代碼潔癖的人來說, 完全不能忍, 來看看為什么.

問題重現

pycharm的提示

上面說了, 這是一個類中的方法,

然后看到了pycharm的友情提示, 這才發現 

這個提示的意思就是說, 這個add方法可能是一個static的. 然后我就明白了, 因為這個方法中沒有用到對象的資源

@staticmethod的使用

上面得到的結論就是在方法中沒有引用對象的資源, 所以pycharm建議我把這個方法改為靜態方法, 也就是加上@staticmethod裝飾器

那么@staticmethod起到了一個什么樣的作用呢?

一般在寫一個方法的時候, 默認會接受一個self的形參, 但是在調用這個方法的使用可能並沒有傳遞任何一個參數, 

這個self就是你使用對象調用方法的那個對象本身, 

要是將這個方法改為一個靜態的方法, 就不會有self

總結

當某個方法不需要用到對象中的任何資源,將這個方法改為一個靜態方法, 加一個@staticmethod

加上之后, 這個方法就和普通的函數沒有什么區別了, 只不過寫在了一個類中, 可以使用這個類的對象調用,

也可以使用類直接調用, 簡而言之, 寫在類中的函數, 我是這么認為的..

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM