1
jprovim 2014-05-30 08:25:52 +08:00 1
這個...我來說兩句吧.
1. 看書, 最簡單了, 也是基礎. 2. 運氣好的話, 跟個大牛就解決了. 3. 看開源的代碼, 比如說twisted, django之類的, 就是看看別人怎麼寫的. 別光看啊, 要理解爲什麼要這麼寫. 當然了, 歸根到底就是python的B格比較高, '有且只有一種方法'. 如果別人寫的好, 你就改掉你的寫法. 什麼是寫的好? 能讀懂 -> 代碼精煉 -> 代碼短 -> 更pythonic. |
2
se77en 2014-05-30 08:46:27 +08:00 2
推荐一本书 writing idiomatic python https://www.jeffknupp.com/writing-idiomatic-python-ebook/
|
3
clino 2014-05-30 09:03:25 +08:00 1
"然而对于Python, 我完全处于一种困惑的状态: 有那么多的语言设施, 不同的风格, 我到底该以什么样的标准去抉择?"
凭你的直觉先选一个,觉得有问题再调整 因为别人的选择对你来说不一定合适,所以也不一定要因为别人的建议有太多犹豫 |
4
mengzhuo 2014-05-30 09:06:18 +08:00 1
好久没有看到这么诚恳的帖子了,现在很多人就想花几天学个Python,就自称是个程序员,成为CEO,走上人生巅峰……
你有这份耐心,就基本成功一半了。 --------------------------------------------------------- 我不是大牛 profile,优化都需要数据结构的知识, 了解Python的set list dict head效率和实现才能在具体应用中使用最好的数据结构 多从标准库中学习他们的Python实现 比如组合: https://docs.python.org/2/library/itertools.html#itertools.combinations 语言特性的使用是看多别人代码才能知道的(看书也是看代码,所以不要在意细节啦),比如generator/yield的用法和lambda+map/reduce/filter/sorted/reversed的使用,LISP的特性╮(╯▽╰)╭ debugging,testing是一门学问,具体看各大开源的项目里的testcase怎么写、debugging也可以看他们的issuse和fix。这里我要感谢一下大神 @pyKun 的带领和入门。 还有很多事情是不遇到坑是不会知道的,比如实习生时,把2G的csv数据写到内存里的挫事我也干过…… |
5
dbow 2014-05-30 09:18:26 +08:00 1
既然懂C语言看Python源代码就好了,语言的feature, 效率一目了然,比如import os (LOAD_CONST -1, LOAD_CONST None, IMPORT_NAME->PyDict_GetItemString(f->fbuiltins, "__import__") -> PyEval_CallObject, STORE_NAME os -> PyDict_SetItem(f->f_locals, w, v)), 其它是编程技巧的事情。
|
7
rebornix 2014-05-30 09:58:12 +08:00 1
我觉得可能是我比较笨,C/C++/C#都能玩耍的很愉快,但是Python每次写都感觉怪怪的不得要领。
|
8
lincanbin 2014-05-30 10:03:22 +08:00 1
Python本来的设计,就是不需要你去搞懂这些。
|
10
lu18887 2014-05-30 11:12:53 +08:00 1
要让编程语言为你所用,而不是专门为了用语言的特性而用!在我看来,Python的开发效率大于执行效率的意义。Ruby Python这类快速开发的语言,在效率上是无法和native的C/C++等语言匹敌的,但是这两门语言的开发效率却远远大于C/C++的开发效率,你不需要 一堆的include 你不需要编写复杂的makefile,你也不用烦恼指针的magic,当C和C++的程序员在做这些的时候,你已经迅速的打出了一行Hello World。我没有嫌弃C/C++的意思,我自己也是用C的……
|
11
tonghuashuai 2014-05-30 15:50:59 +08:00 1
别光顾着看,从现在就开始动手写
|
12
hslx111 2014-05-30 17:22:23 +08:00 2
我觉得Python目的就是要简单好用,至于性能问题,大部分用Python的情况对于性能其实要求不是很多,当你真的需要要求性能的时候,再看也来得及。
当然多看看大牛的代码也是很好的学习,所以再次推荐一下我经常玩的网站http://www.checkio.org/,你可以自己写代码解决一个问题,提交之后就能看到其他人的代码,这样学起来印象比较深刻。 |
13
datou552211 2014-06-27 16:51:40 +08:00
学习pythonic 的程序设计,多看好项目源码,最主要的多敲键盘,读万卷书不如行万里路。依赖google是正常行为。主要是兴趣使然,找到想做的东西,按项目流程走一边顶看几遍书
|
15
cbsw 2014-06-27 18:33:30 +08:00
对于想深入学习 python,我觉得可以找感兴趣的标准库,直接读源代码,既能知道那些库怎么更好的用,又能知道背后是如何实现的,还能学到 Python 的 coding style。如果想更加深入学习,比如怎么优化,我觉得可以直接看 python 的实现,不过我想绝大多数人可能不需要到这一级别,LZ应该也不属于那极少的一部分人,所以建议看看 python 标准库的实现。
(PS:最近也准备深入学习 python,正在看标准库的源码,可以一起学习) |
16
frankzeng 2014-06-27 18:44:10 +08:00
能够解决实际工作中的问题,让代码又有性能又易懂,其他都是次要的
|
17
harryhao 2014-06-27 19:09:54 +08:00
请看 Python源码剖析
|
18
heliar 2014-06-27 19:24:32 +08:00 via iPhone
赞同楼上…
|
19
Kabie 2014-06-28 12:23:43 +08:00
看自带的文档。。。就看标准库就行了…………另外记得看最新的3.x的……
|