Python 板


LINE

大家好,小弟是經常需要用到 python 做各種數值積分的碩二生。 過去一年來,平均每週大概花個十幾小時在寫程式,但日子一久, 我並不見得會記得當時我的「邏輯」是什麼。即便自己加了註解, 我也不見得看得懂,更別說其實自己也不是很有耐心在寫註解...。 雖然小弟沒特別學過什麼程式,只修過理工學院的 Matlab、fortran、 C++,然後去年才開始用 Python,只知道常見的基本功能而已,但 確實會想把 code 寫好,所以才想上來問問各位大神,不知道各位 寫程式有沒有什麼技巧或心法之類的? 小弟通常都是用程式讀取 *.csv,將多組 (x,y) 座標數據進行積分、 微分、疊合平均,去除不想做曲線擬合的數據,將數據平移,儲存 csv、換單位 ...。這些動作,日子一久,回過頭來看就會忘記 = =" 例如:https://paste.ofcode.org/38jmDgr9m66wJiYEMdpZvfu 有時也會一直猶豫要不要將一些動作寫為 function。一開始覺得不要, 但重複第二次時才發現天啊,早知道就寫成 function。但寫 function 有時又會比較複雜,要輸入的參數、數據太多,似乎也不適合寫成函數。 不過我常用的函數都會寫在一個外部檔案中,需要時就 import 進來用。 或許這種事情就只能靠自己耐煩,慢慢整理嗎?..... 不好意思,或許有點不知所云 <(__)> 謝謝大大們的閱讀。 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.192.0.245
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1555945031.A.F40.html ※ 編輯: Philethan (123.192.0.245), 04/22/2019 22:58:15
1F:推 vi000246: 關鍵字 clean code、重構 04/22 23:04
2F:推 iphone2003: 提個不相關的,其實沒必要寫reverselist這個函數,直 04/22 23:19
3F:→ iphone2003: 接my_list[::-1]就可以得到reverse了 04/22 23:19
4F:推 TitanEric: 多看多寫就慢慢學會 04/22 23:28
5F:→ jiyu520: 其實code很難一次到簡潔或是不重複 04/23 00:00
6F:→ jiyu520: 當發現自己一直在重複寫類似的code,就是抽出的好時機了 04/23 00:01
7F:→ jiyu520: 命名、架構、迴圈層數、路徑規劃、單一職責、開放封閉 04/23 00:03
8F:→ jiyu520: 讓程式碼具有「良好可讀性、可維護性」 04/23 00:05
9F:→ jiyu520: 到「效率性、健全性」,都是重購的好處 04/23 00:06
10F:→ jiyu520: 推薦 易讀程式之美學、無暇的程式碼 04/23 00:08
11F:推 jiyu520: 對重要代碼寫測試、設計模式的使用也都有幫助 04/23 00:23
12F:推 jiyu520: 函數可能是純工具(職責較單純)、或是腳本式(呼叫各函數 04/23 00:28
13F:→ jiyu520: 你提到 數據太多-> 要處理步驟可能也多 -> 抽步驟成func 04/23 00:29
14F:→ jiyu520: 這樣把函式切為 主腳本函式-> 吃參數、call各函式、結果 04/23 00:31
15F:→ jiyu520: 各步驟函式 -> 資料讀、清、運、儲 04/23 00:32
16F:推 flarehunter: https://tinyurl.com/yyrgtg7h 04/23 08:19
17F:→ flarehunter: Google python style guide 04/23 08:19
18F:→ feeya: 自己建一個library 例如ez.func1 ez.func2 04/23 13:05
19F:→ feeya: 把你自己寫個function整理在裡面 04/23 13:05
20F:→ f496328mm: 適當的重構 另外開始學會用物件 04/23 13:46
21F:→ f496328mm: 例如某件事,你要用到很多func,就用class包起來 04/23 13:47
22F:→ f496328mm: class 中加入 main,這樣你就不會有 func 太多問題 04/23 13:47
23F:→ f496328mm: class還有一個好處,你參數、data不用傳來傳去 04/23 13:48
24F:→ f496328mm: 另外物件可以減少很多code 04/23 13:51
哇 感謝大家的留言幫忙,受益良多。 小弟有查查 clean code 與重構,有看到非常多想法 :) 另外我也不太會用 class,之後會來試試看用 class!也很感謝 jiyu520 大大的 很多建議,接下來光是消化大家給的建議就可以提升超多實力了,感謝! ※ 編輯: Philethan (140.112.4.206), 04/23/2019 15:23:02
25F:推 numpy: 很多編輯器都有pylint可以裝,可以讓你知道那些地方可以寫 04/24 18:56
26F:→ numpy: 更好 04/24 18:56
27F:→ numpy: *哪 04/24 18:57







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Boy-Girl站內搜尋

TOP