matplotlib中的幾個方法都返回一個值,並設置一個對象的屬性。例如,.yaxis.set_major_locator()
,它們都會更改圖的y軸,並返回y軸。分配既設置又返回值的方法的未使用的返回值?
在一段代碼,我有以下語句:
axes.yaxis.set_major_locator(DayLocator())
與axes
到我分配一個副區的變量。
由於我使用的是axes
,但對於y軸本身沒有用處,因此未分配axes.yaxis.set_major_locator(DayLocator())
的返回值。
這對我來說似乎很完美,但是pylint當然會抱怨這一點。
兩個問題:
- 我可以放心地忽略此警告,或者我還是應該給它分配?
- 更一般地說,setter_method的優點還會返回非None值嗎?
在Python中用於改變對象狀態和返回None的方法是常規的(顯式地,或者通過隱式地結束沒有顯式返回語句的方法),*或*保持狀態不變並返回一些東西。違反該慣例會讓你的代碼更難以閱讀和理解那些熟悉它的人。 – jonrsharpe
這就是我所想的,這正是我爲什麼在matplotlib –