怎么培养好 python 编程习惯,有什么优秀的代码推荐阅读吗?(对于新人)

2016-09-07 18:40:08 +08:00
 Michael728
python 代码被领导鄙视,写的代码从上到下,一步一步执行,没有面向对象编程的思想,希望能如题,给点建议。
4903 次点击
所在节点    Python
29 条回复
tttimit
2016-09-07 18:43:57 +08:00
我也基本上算个新手。

建议还是看一些工程方面的书,比如代码大全,代码简洁之道等。
Michael728
2016-09-07 18:50:57 +08:00
@tttimit 那种大部头感觉需要比较大的工作经验之后读收货更大点,我想在想看看有没有关于 python 方面的内容
stdying
2016-09-07 18:55:12 +08:00
我觉得第一步就是统一自己的代码格式,就好比,所然张的丑,但可以打扮的干净点。
干净整洁的代码看起来就像清风扶面。
Michael728
2016-09-07 18:58:19 +08:00
@stdying 哈哈,好咧,这是代码规范,从编程思想上呢?例如,面向对象等,有什么好的建议吗?新人哈:)
hitmanx
2016-09-07 19:02:31 +08:00
代码和文章一样,都是从模仿别人开始的。回想一下比如语文和英语,咱们是怎么从小时候只会写主谓宾发展到今天的,道理是一样的
gunshot
2016-09-07 19:11:45 +08:00
我正在看 Fluent Python, 介绍了很多优雅的写法。
crazykuma
2016-09-07 20:01:25 +08:00
看 gayhub 的高 star 项目。。表示啃了一个我感觉自己 exp 暴涨。。
Michael728
2016-09-07 23:19:18 +08:00
@hitmanx 你这个比喻很好,有点明白了
zhuangzhuang1988
2016-09-07 23:33:24 +08:00
1 楼说得对
那些事通用的, 即使是针对 python
likuku
2016-09-08 00:06:54 +08:00
没必要为了技巧而技巧,为了复杂而复杂 (简单事情复杂化,而只是为了炫技,本末倒置了)

能很容易得阅读(稍微高点追求,可以注意编码风格,参考 PEP8 即可),其次可以顺利解决业务,最后可以高效解决业务,这就足够了。
7sDream
2016-09-08 00:13:44 +08:00
https://github.com/7sDream/zhihu-oauth

大概可以看一下同是新手时的我写的这个库?

感觉虽然没什么技术含量,但是对新手来说还是有点价值的。

最主要是我代码文档和注释都挺齐全,看不懂的时候可以看文档: http://zhihu-oauth.readthedocs.io/zh_CN/latest/

(另一个 zhihu-py3 并不推荐看,大一大二写的,其实代码质量有点糟糕,虽然 star 比这个多)

---

然后这个: https://github.com/7sDream/pyqart

pyqart/qr 这部分可以看看,是个完整的二维码生成器,结构也还可以。
TheCure
2016-09-08 00:23:08 +08:00
requests 库
xiahei
2016-09-08 08:10:42 +08:00
flask 源码。
wyntergreg
2016-09-08 08:59:04 +08:00
python 不是面向对象的语言, python 不是面向对象的语言, python 不是面向对象的语言
python 是动态语言
跟你领导说:要什么自行车?
hyrious
2016-09-08 09:02:44 +08:00
很抱歉本条回复没有帮助。
“面向对象”这个迷信,本质上其实是用来“节约代码”的,没必要什么 real world 都用 oop 套,不少新人估计会有这个误区吧 (当然我不清楚你领导的想法)。
另外,写代码又不是为了让领导看懂的,不然他自己写啊。
领导怎么知道你的代码是不是手写的,说不定是优化过之后生成的 (x 。
优秀的代码可以看各种开源框架的源码,大概学个缩进空格的习惯感觉就很好了 (看着舒服),当然最后如果有压缩需求另说。
更优雅的代码套路就需要学逻辑了,什么设计模式啊之类的。
最后还是要说一句,代码生成啊,赞 (逃。
Michael728
2016-09-08 09:04:10 +08:00
@7sDream 恩恩,感谢推荐
Michael728
2016-09-08 09:09:19 +08:00
@callofmx 早上看《编写高质量的代码:改善 python 程序的 91 个建议》,里边也提到了 requests 库
littleshy
2016-09-08 09:44:55 +08:00
其实我感觉用 Python 面向对象有点太累了。几个函数搞定了非得弄一堆类,并不简洁。
喜欢面向对象还是用 C#, Java 吧。
slysly759
2016-09-08 13:37:19 +08:00
@7sDream 模仿代码中
7sDream
2016-09-08 14:12:46 +08:00
@slysly759 模仿哪个 QwQ

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/304623

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX