推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
Jackhuang
V2EX  ›  Python

学得太杂了,感觉迷茫(吐槽)以及求问怎么写 Python 项目

  •  
  •   Jackhuang · Nov 2, 2015 · 7496 views
    This topic created in 4020 days ago, the information mentioned may be changed or developed.

    笔者大三了,昨天送妹子 Kindle 被拒绝了(就是之前那个想要社工的帖子的那个妹子),最近写作业要死了。细数一下,感觉自己学了好多好多的语言,感觉想要吐了。大一 C ,大一下 C++,分数还不错,大二重新学 C++(老师喜欢讲 STL 源码,考试时,跪了 70+),在学 C++的时候又选了 JAVA(期中一会儿写 SWING ,一会儿又转去 Servlet,JSP,期末写一个搜索引擎),并且那个学期又上了一门 Web 技术概论( JS,HTML,CSS , PHP ),然后同时学数据结构(期中并查集没写出来,跪了 70+,打击超级大。)基本上觉得啥语言都入了个门,感觉生活难受死了。寒假参加 MCM ,又稍微接触了 Matlab 。之后大二下学 MySQL (范式, ACID,也是虐死我了),计算机图形学写 OpenGL,被忘记的 C++和 C 虐得不要不要的。

    在假期感觉人生艰难的时候,找了个爬虫的实习。入坑 Python ,感觉好了很多,因为总算有一个通用的解决方案了。爬虫写得很开心。对 Python 好感度超级高,并且感觉之后的作业有保证了,但是这学期图像处理学 OpenCV,感觉 Python 的 Opencv 库资料不多啊,另外一门课上 Matlab ,也不知道能不能用 Numpy + Scipy 代替,写 NLP 的 Bigram 又总是觉得模型慢得原因是语言问题。难道必须要滚回去学 C 艹了么?当年选 Java 课的原因就是因为觉得 C 艹不够通用,觉得 Java 万能,但是写个简单的文本处理都要开一个 Eclipse 。太恶心。
    现在回到 Python 的问题上来,之前写 Python 的项目都非常的短,老是觉得自己代码丑死了。请问一个标准的 Python 项目应该怎么写,例如这次作业写一个 Bigram ,在给定语料的基础上,判断测试两个句子哪一个更加正确。这应该是面向对象风格,写类,还是直接写函数就行了。谢谢了

    38 replies  •  2015-11-03 22:33:02 +08:00
    junnplus
    junnplus
    Nov 2, 2015 via Android
    1
    google python 91 个建议
    Marfal
    Marfal
    Nov 2, 2015
    2
    想问一下 LZ 哪个学校的?
    sagnitude
    sagnitude
    Nov 2, 2015
    3
    python 不是有个 PEP8 么

    我用 pycharm 写的时候,只要照着 IDE 的代码提示改,代码风格就还行,我在 Inspection 里打开了 PEP8 检查
    terry0314
    terry0314
    Nov 2, 2015
    4
    学校开了 C++ Java C#然而我自己只学了 C++和 Python 其他都处于放任自流的状态...
    sagnitude
    sagnitude
    Nov 2, 2015
    5
    大学课程的那些语言都只能是入个门、做个题,根本都算不上“学的太杂”吧。。我大学学了四年 java ,还是出来工作才真正熟悉写 java 程序的过程,打基础的时候建议你还是继续刷代码量吧,等你有好想法的时候,有代码量的基础在,能够很快很好地实现出来,我是感觉自己写的远远不够
    Jackhuang
    Jackhuang
    OP
    Nov 2, 2015 via iPhone
    6
    @junnplus 感谢!
    Jackhuang
    Jackhuang
    OP
    Nov 2, 2015 via iPhone❤️1
    7
    Jackhuang
    Jackhuang
    OP
    Nov 2, 2015 via iPhone
    8
    @sagnitude 不是格式问题,我觉得是 py 写函数还是写类很纠结 。可能还是代码写太少了吧。
    solaya
    solaya
    Nov 2, 2015
    9
    我学过 c/c++/javase/javaee/android/.net , STL 源码也看过。大三的时候发现这些不好找工作,最后去看 PHP 去了。
    UtopiaCHN
    UtopiaCHN
    Nov 2, 2015 via iPhone
    10
    wizardforcel
    wizardforcel
    Nov 2, 2015
    11
    公司的话,就和项目的其它代码保持风格一致。

    个人项目的话就无所谓了,你自己看着顺眼就行。
    niseceric
    niseceric
    Nov 2, 2015
    12
    Matlab 用 numpy 稳稳的, 速度也稳稳的~
    virusdefender
    virusdefender
    Nov 2, 2015
    13
    讲 STL 源码,期中考试就是并查集,还有 NLP 。我猜就是很牛逼的学校,果然..

    ---

    你这小项目的代码确实没法规范,不过建议是写类,每个类做一个相对独立的事情,可能几个类搞定了。

    实在不行分模块,写几个文件。

    关于写法的规范,去看 pep8 就好了
    iwj
    iwj
    Nov 3, 2015 via Android
    14
    看了你的文字描述,我仿佛身临其境,感觉也被虐惨了,你的文字太有魔力了。回到正题,关于 Python ,我也跟你一样有困惑,比较赞同 @wizardforcel 的想法。
    honmaple
    honmaple
    Nov 3, 2015 via Android
    15
    同大三,同学了 n 多语言,同在入坑 python
    Med
    Med
    Nov 3, 2015
    16
    说个人项目代码风格无所谓的,扯淡吧。代码风格要慢慢培养,你要是乐意写着屎一样的代码,那也没什么好说的。 python 本来就很难重构,如果项目一开始风格就很乱,那写到后面痛苦的是自己。
    qdwang
    qdwang
    Nov 3, 2015 via Android
    17
    原来 pku 也就是教这些东西 我放心了
    MCVector
    MCVector
    Nov 3, 2015
    18
    哈哈 C++ 才是万能的
    v2gba
    v2gba
    Nov 3, 2015❤️1
    19
    公司 /客户项目: 按公司 /客户的来
    个人项目及其他:我选择 pocoo 的 style

    pocoo 的 styleguide : http://www.pocoo.org/internal/styleguide/
    另外可以直接看他们的源码,能更直观的看到一些风格,习惯
    junnplus
    junnplus
    Nov 3, 2015 via Android
    20
    竟然是 pku ,其实对于写类还是写函数,这看使用的库和习惯,一般我都会按照使用的库的习惯写法去整理代码。
    loading
    loading
    Nov 3, 2015 via Android
    21
    私人代码先维持能跑级别,现在的创业项目哪个是因为代码质量好发家的?

    公司代码,不是有规范呢…
    vietor
    vietor
    Nov 3, 2015 via Android
    22
    注意命名规范,其他的就靠习惯
    surefire
    surefire
    Nov 3, 2015❤️1
    23
    撸主你有我学得杂吗?老子从汇编学到 C ,从 C 到 C++, C++又到 HTML/CSS/JS(前面是大学里的课程,后面是自学),然后工作中(非软件开发)又捣腾了一下 shell ,被发现有软件开发“潜质”后调入开发组,从此就开始撸代码了,从 Delphi 开始,然后又到 C#,再到 C++,再再到 SQL Server ,然后又来硬的, protel99 画电路板,画完电路板用 C 写 linux 驱动,写完驱动又是 MySQL ,后面又是 C#,再到 javascript ,然后 Python ,再然后又是 PostgreSQL ,再再然后就是 Java 、 shell 什么的,现在主要岗位是 Java 开发——虽然没写过几行代码,但因为工作需要偶尔用 C++写个小函数,或者 Python 做做页面分析,还要参与 js 框架预研,业余呢,我 Mac 了个数据库客户端——这样的结果就是,我“懂”很多,但没一个精通的,也不知道这样好不好,但也开阔了眼界。工作需要,我也只能默默接受。
    usapla
    usapla
    Nov 3, 2015
    24
    @surefire 666666666 ,给大兄弟跪了,你简直要成计算机语言百科全书了。
    Jackhuang
    Jackhuang
    OP
    Nov 3, 2015 via iPhone
    25
    @surefire 完全就是这种感觉,”懂”得多,没有精通。感伤
    每次都是因为课程要接触一个东西,还没摸熟就被扔掉了。
    inFinityzc
    inFinityzc
    Nov 3, 2015
    26
    记得经常有《 XX Cook Book 》这种书,个人认为写代码就像是做饭,吃东西的人不在乎你用的什么工具,用的 6 不 6 ,只在乎你做的好吃不好吃。当然如果对某个工具掌握的炉火纯青,做饭的时候会得心应手,别人吃起来也会赞不绝口。
    xiqingongzi
    xiqingongzi
    Nov 3, 2015 via Android
    27
    @surefire 牛逼,软硬一把抓
    tt0411
    tt0411
    Nov 3, 2015
    28
    楼主已经很厉害了,我本科时候学得也很乱,后来发现要想学好一门语言或技术,还是去实习或做项目最好
    liqingcan
    liqingcan
    Nov 3, 2015 via Android
    29
    我也这样觉得,学校大一上 c 下 c++大二上 java 下 c#,好晕。。。
    Sabermadao
    Sabermadao
    Nov 3, 2015 via Android
    30
    我也学了好多!也是平时写写作业!没啥项目做也就忘了好多!话说 pku 是北大的意思么?大神
    bnpysse
    bnpysse
    Nov 3, 2015
    31
    学校学的跟以后工作做项目,是两回事,基本上不用担心什么。如果真正做项目的话,你就会知道自己哪里是短板,然后再补充就可以了呀
    aljun
    aljun
    Nov 3, 2015 via iPhone
    32
    高中 noip 搞的 c ,大一搞 web ,同时前后端一起上,比较熟的是 JavaScript 和 Python ,暑假用 django 写了个功能比较多的网站,用 flask 写了个自己的博客,同时还学习了 ruby 和 c 艹(码算法,毕竟 noip 在大学根本不够看),也觉得自己学的挺多的,但还是佩服楼主很厉害的,贴个 gayhub 多交流行么?(我是小菜) http://github.com/salamer
    aljun
    aljun
    Nov 3, 2015 via iPhone
    33
    @surefire 码龄几年,看得我佩服不已
    aljun
    aljun
    Nov 3, 2015 via iPhone
    34
    @Sabermadao peking university 这个英文名还算不错了,你去看北航的英文名,醉醉的
    surefire
    surefire
    Nov 3, 2015
    35
    @usapla 到最后我还是啥也不会
    surefire
    surefire
    Nov 3, 2015
    36
    @Jackhuang 你以后还是会觉得“有用”的,技多不压身嘛,专有专的好,广的也不是说没出路
    surefire
    surefire
    Nov 3, 2015
    37
    @xiqingongzi 永远的门外汉,半吊子都算不上,现在想来其实觉得挺亏的,其他人都专职一个方向,只有我打杂,哪里确认哪里上,最后没有一个有竞争力的神技,所以从来不敢说自己是搞软件开发的
    surefire
    surefire
    Nov 3, 2015
    38
    @aljun 我是半路出家,而且也不算正儿八经的码农,一直业余水平,没写过什么牛逼的东西。如果要算码龄,大学搞课程设计时算不算?那也是超十年了。但自以为水平还不如青鸟毕业的系统化。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4854 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 110ms · UTC 07:35 · PVG 15:35 · LAX 23:35 · JFK 02:35
    ♥ Do have faith in what you're doing.