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/cn.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灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP