乙個 Pythonic 的類應不應該在 init 中檢查引數有效性?

時間 2021-05-11 13:14:14

1樓:蔣甬杭

為什麼不是傳入乙個IPAddress類的物件呢。這樣的話IPAddress本身在構造的時候就檢查了。而且遇到IPv4或者IPv6之類的也可以用多型。

長時間讓IP位址這種有結構的東西以字串這種缺乏自描述能力的格式儲存著本身就很不妙吧。

2樓:Wensheng Wang

輸入可能不規範就要檢查, 不過不一定在__init__裡, 可以調另外的函式, 比如

self.ipaddress = self.validateip(ipaddress)

其實不用太在乎什麼python規範, 很多東西沒什麼規範, 視事而為.

另外檢查ip位址推薦谷歌開源的python庫 http://code.google.com/p/ipaddr-py/

3樓:Brandon Wu

輸入引數的檢查是防禦性程式設計的一部分

在你不信任輸入的時候,比如這是使用者提供的資料,或者另一台伺服器提供的,那應該就要檢查

但是未必要在類初始化時檢查,如果這個是 Model 類,也可以在寫入資料庫之前檢查

如果這個輸入,是由乙個值得信任的模組提供的話,或者已經經過一輪檢查,就沒必要重複了

Python 的宗旨是信任開發者會遵守開發約定,但不是說信任開發者的程式沒有 Bug,和防禦性程式設計也沒有任何衝突

作為乙個建築學學生應不應該做綜合類的比賽或者修雙學位?

楊東奇 潑一盆冷水 遇到這些事情,不去親自試一試,總是問東問西自己瞎琢磨,恐怕題主真的是在逃避.而且題主又說懷疑自己前三年是不是應該投入專業學習。這麼看來,專業也沒全心去學,自己想搞點小愛好也沒成功,題主在胡思亂想當中真的浪費了太多時間了。首先,學建築累麼?如果從身體感覺上說,題主是合理的安排了設計...

應不應該入手乙個單反?

言寡意多 如果是已經準備好花費相當多精力去投入的話,可以入手,否則,省點錢買個畫素高的手機就可以了。要是想好要買的話,可以參考這篇回答。有哪些值得推薦的微單? howy 應該入乙個二手微單。在學校裡是乙個美麗的時間段,可以安靜認真地拍照。畢業那會可以給全班同學拍,再過五年十年,還可以在同學會的時候繼...

應不應該 怎麼追乙個男生?

丁建說 如果你去追乙個男生,第一步會怎麼做?你是不是會不斷的給對方發訊息,聊些有的沒的 你是不是邀約對方出來約會 你是不是會不斷的關心他 你是不是會給他送小禮物 你是不是會給予他額外的優待 但是,今天我想糾正你這個錯誤的思維,以上的做法統統都是錯的。如果以上的做法能夠成功,那麼有且只有一種可能,就是...