学得太杂了,感觉迷茫(吐槽)以及求问怎么写 Python 项目 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
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 2015-11-02 18:10:43 +08:00 6679 次点击
    这是一个创建于 3646 天前的主题,其中的信息可能已经有所发展或是发生改变。

    笔者大三了,昨天送妹子 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 条回复    2015-11-03 22:33:02 +08:00
    junnplus
        1
    junnplus  
       2015-11-02 18:42:39 +08:00 via Android
    google python 91 个建议
    Marfal
        2
    Marfal  
       2015-11-02 18:43:45 +08:00
    想问一下 LZ 哪个学校的?
    sagnitude
        3
    sagnitude  
       2015-11-02 18:51:01 +08:00
    python 不是有个 PEP8 么

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

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

    ---

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

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

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

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

    公司代码,不是有规范呢…
    vietor
        22
    vietor  
       2015-11-03 07:53:19 +08:00 via Android
    注意命名规范,其他的就靠习惯
    surefire
        23
    surefire  
       2015-11-03 08:33:35 +08:00   1
    撸主你有我学得杂吗?老子从汇编学到 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
        24
    usapla  
       2015-11-03 09:11:28 +08:00
    @surefire 666666666 ,给大兄弟跪了,你简直要成计算机语言百科全书了。
    Jackhuang
        25
    Jackhuang  
    OP
       2015-11-03 09:20:29 +08:00 via iPhone
    @surefire 完全就是这种感觉,”懂”得多,没有精通。感伤
    每次都是因为课程要接触一个东西,还没摸熟就被扔掉了。
    inFinityzc
        26
    inFinityzc  
       2015-11-03 09:22:08 +08:00
    记得经常有《 XX Cook Book 》这种书,个人认为写代码就像是做饭,吃东西的人不在乎你用的什么工具,用的 6 不 6 ,只在乎你做的好吃不好吃。当然如果对某个工具掌握的炉火纯青,做饭的时候会得心应手,别人吃起来也会赞不绝口。
    xiqingongzi
        27
    xiqingongzi  
       2015-11-03 09:23:14 +08:00 via Android
    @surefire 牛逼,软硬一把抓
    tt0411
        28
    tt0411  
       2015-11-03 09:42:20 +08:00
    楼主已经很厉害了,我本科时候学得也很乱,后来发现要想学好一门语言或技术,还是去实习或做项目最好
    liqingcan
        29
    liqingcan  
       2015-11-03 13:47:39 +08:00 via Android
    我也这样觉得,学校大一上 c 下 c++大二上 java 下 c#,好晕。。。
    Sabermadao
        30
    Sabermadao  
       2015-11-03 16:43:00 +08:00 via Android
    我也学了好多!也是平时写写作业!没啥项目做也就忘了好多!话说 pku 是北大的意思么?大神
    bnpysse
        31
    bnpysse  
       2015-11-03 17:01:25 +08:00
    学校学的跟以后工作做项目,是两回事,基本上不用担心什么。如果真正做项目的话,你就会知道自己哪里是短板,然后再补充就可以了呀
    aljun
        32
    aljun  
       2015-11-03 21:05:46 +08:00 via iPhone
    高中 noip 搞的 c ,大一搞 web ,同时前后端一起上,比较熟的是 Javascript 和 Python ,暑假用 django 写了个功能比较多的网站,用 flask 写了个自己的博客,同时还学习了 ruby 和 c 艹(码算法,毕竟 noip 在大学根本不够看),也觉得自己学的挺多的,但还是佩服楼主很厉害的,贴个 gayhub 多交流行么?(我是小菜) http://github.com/salamer
    aljun
        33
    aljun  
       2015-11-03 21:09:10 +08:00 via iPhone
    @surefire 码龄几年,看得我佩服不已
    aljun
        34
    aljun  
       2015-11-03 21:12:03 +08:00 via iPhone
    @Sabermadao peking university 这个英文名还算不错了,你去看北航的英文名,醉醉的
    surefire
        35
    surefire  
       2015-11-03 22:26:56 +08:00
    @usapla 到最后我还是啥也不会
    surefire
        36
    surefire  
       2015-11-03 22:28:27 +08:00
    @Jackhuang 你以后还是会觉得“有用”的,技多不压身嘛,专有专的好,广的也不是说没出路
    surefire
        37
    surefire  
       2015-11-03 22:30:07 +08:00
    @xiqingongzi 永远的门外汉,半吊子都算不上,现在想来其实觉得挺亏的,其他人都专职一个方向,只有我打杂,哪里确认哪里上,最后没有一个有竞争力的神技,所以从来不敢说自己是搞软件开发的
    surefire
        38
    surefire  
       2015-11-03 22:33:02 +08:00
    @aljun 我是半路出家,而且也不算正儿八经的码农,一直业余水平,没写过什么牛逼的东西。如果要算码龄,大学搞课程设计时算不算?那也是超十年了。但自以为水平还不如青鸟毕业的系统化。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2818 人在线   最记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 13:29 PVG 21:29 LAX 06:29 JFK 09:29
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86