老生常谈的问题:如何学好 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
hellomacos
V2EX    Python

老生常谈的问题:如何学好 Python

  •  
  •   hellomacos 2019-05-09 10:23:56 +08:00 4654 次点击
    这是一个创建于 2354 天前的主题,其中的信息可能已经有所发展或是发生改变。
    作为一个新手,总想跨入编程世界的大门。
    人生苦短,我学 Python。
    苦恼于一直没有学会,买了本书 《 Python 编程:从入门到实践》,边读边敲代码,书中的代码都看得懂,可是现在全都看完,练完,到真正自己需要弄小项目敲代码的时候感觉无从下手,看了很多大佬的帖子,也是描述了很多初学者看书 看视频学习后,书中课后练习及视频留的作业都能做,但是一到自己动手一脸懵,自己也苦于是这个问题。又有很多大佬说学习 python 找个实际的项目练手,于是去买了崔庆才大大的课程以及书,同样出现的问题又是到自己动手一脸懵逼,这情况是没有程序思维吗 还是我根本就不适合编程。
    现在已经开始自我怀疑了

    请各位大佬能否根据自己的学习经历给小弟指点迷津,同时也感谢某些大佬百忙之中抽出时间轻喷。
    41 条回复    2019-05-10 09:04:28 +08:00
    moxiaowei
        1
    moxiaowei  
       2019-05-09 10:27:12 +08:00
    多写写熟能生巧,90%的程序员都死在开头
    hellomacos
        2
    hellomacos  
    OP
       2019-05-09 10:32:52 +08:00
    @moxiaowei 跟着例子敲吗,现在感觉是只有跟着人家思维走,自己才会写,到自己自己写就真懵了。
    ThunderMonkey
        3
    ThunderMonkey  
       2019-05-09 10:38:30 +08:00
    好奇心、享受思想到代码的满足以及克服拖延症
    jmc891205     4
    jmc891205  
       2019-05-09 10:39:46 +08:00   1
    不要边读边敲 机械性的打字能学到什么
    要先根据书上的需求自己写一版 再去看书上的实现来改自己的
    marcolin
        5
    marcolin  
       2019-05-09 10:40:46 +08:00
    找个自己感兴趣的小项目,用兴趣逼着自己学。爬虫,博客,小网站,数据分析,都可以啊,如果都没兴趣,说明不需要学 python,学点别的吧
    DeWhite
        6
    DeWhite  
       2019-05-09 10:40:59 +08:00
    首先 先想结果,然后如何实现中间的功能 然后写 你会发现你写了一堆 BUG,然后就是学高效能开发 查漏补缺。
    每天活在补漏洞的日子里,直到有一天漏洞填平了。就可以上点新技能树了。
    davie
        7
    davie  
       2019-05-09 10:41:01 +08:00 via Android
    写爬虫
    hellomacos
        8
    hellomacos  
    OP
       2019-05-09 10:42:18 +08:00
    @marcolin 谢谢大佬,目前的方向给自己定位的是爬虫 爬虫确实能学到挺多的。
    hellomacos
        9
    hellomacos  
    OP
       2019-05-09 10:43:14 +08:00
    @DeWhite 谢谢大佬,查漏补缺 是否就是实际去找个小东西来玩,遇到不会的现学现用。
    hellomacos
        10
    hellomacos  
    OP
       2019-05-09 10:44:23 +08:00
    @jmc891205 谢谢大佬,这个也是一直在做的,这个跟以前读书一样,遇到不会的想不出来 还是忍不住看看实例代码 人家怎么分析。
    ThirdFlame
        11
    ThirdFlame  
       2019-05-09 10:45:44 +08:00
    拿着别人的项目魔改。 改的过程中 就自然对这个项目有所了解了。 然后自己推翻重来一遍。
    项目 可以从小(一个脚本)到大慢慢来。
    janda
        12
    janda  
       2019-05-09 10:48:02 +08:00   1
    https://github.com/jackfrued/Python-100-Days
    这个仓库挺不错的、学习!
    hellomacos
        13
    hellomacos  
    OP
       2019-05-09 10:48:16 +08:00   1
    @ThirdFlame 谢谢大佬,魔改项目这个,目前对自己来说估计挺困难的,基本吧没有什么程序逻辑一样,但是也有经常看人家的代码 然后分析人家为什么这么写 看到不懂的还是会去看文档 看用例。
    hellomacos
        14
    hellomacos  
    OP
       2019-05-09 10:49:57 +08:00
    @janda 谢谢大佬。
    ccoming
        15
    ccoming  
       2019-05-09 10:50:30 +08:00
    从工作 /生活出发,做点简易的需求开始
    youngce
        16
    youngce  
       2019-05-09 10:57:36 +08:00   1
    动手实践是最重要的,喜欢做爬虫的话,先直接从练习爬取豆瓣之类反爬机制对新手友好的网站开始。慢慢在爬取一些自己感兴趣的网站,中间遇到问题就网上找答案,慢慢就成长起来了
    birdrally
        17
    birdrally  
       2019-05-09 11:04:19 +08:00 via iPhone
    就一个,别再看教程了,初学的时候看的越多,动手越难
    joeyv2
        18
    joeyv2  
       2019-05-09 11:09:55 +08:00
    缺少实战,每一项技能都是看书看视频懂,自己做就不懂。
    实战就可以解决问题
    hellomacos
        19
    hellomacos  
    OP
       2019-05-09 11:12:30 +08:00
    @youngce
    @birdrally
    @joeyv2

    谢谢三位前辈 清晰认识到了自己的不足之处 不能总让自己跟着作者的思维走 俗话说举一反三 锻炼自己的思维 实践过程中学习 遇到不懂的找文档 用例。
    人生苦短 我学 python
    共勉!!!
    CEBBCAT
        20
    CEBBCAT  
       2019-05-09 11:14:41 +08:00
    最近听说新出了一个播客:《捕蛇者说》(这名字好大街),但我没听过,楼主通勤的时候听听试试?
    Kilerd
        21
    Kilerd  
       2019-05-09 11:44:40 +08:00
    从一开始就要强制自己写 Type Lint
    jsnjfz
        22
    jsnjfz  
       2019-05-09 11:53:35 +08:00
    https://www.codecademy.com/learn/learn-python 推荐这里的课程,不过可能需要科学上网和要有点英语基础
    index90
        23
    index90  
       2019-05-09 12:25:07 +08:00
    买一把好一点的游标卡尺
    xiaket
        24
    xiaket  
       2019-05-09 12:36:56 +08:00
    @Kilerd hint?
    mamahaha
        25
    mamahaha  
       2019-05-09 12:37:06 +08:00   1
    学校开编程课时的思路就是先学数据库,很多年以后才明白它的正确性,这是不知多少人总结出来的经验。
    Kilerd data-uid=
        26
    Kilerd  
       2019-05-09 13:00:40 +08:00
    @xiaket #24 抱歉,typo 了 https://docs.python.org/3/library/typing.html
    应该是 type hints
    fngtz
        27
    fngtz  
       2019-05-09 13:23:48 +08:00 via iPhone   1
    1. 你是谁,你为什么学编程?
    你是中学生,还是大学生,还是工作人士。
    你的智力如何,基础如何(批判性思维,数学,等)。
    你的人生态度如何,经济压力如何。
    你学编程是因为好玩,还是想从业,还是想转行,还是想辅助工作。

    2. 有了问题一的答案,才可以到问题二: 怎么学最好?
    最主要的参数如下
    b. 智力
    a. 对一切事物的本质的认识(我不太会描述这个参数)
    c. 年龄 /空闲时间
    d. 其他影响学习的个人因素,包括,对不同激励 /挫折的感受程度,好胜心 /好奇心 /责任心

    有一些好办法是聪明人和明白人专属的。
    有一些好办法是情绪调控能力强的人专属的。
    有一些好办法是有权势的人专属的。
    有一些好办法是基础扎实的人专属的。

    总归,你要先搞清楚自己的情况,学习的木豆,才能去评价学习方法是不是适合你。
    liuxey
        28
    liuxey  
       2019-05-09 13:52:52 +08:00   1
    编程只有一条路,多实践,如何成为高手,实践的时候多思考
    hellomacos
        29
    hellomacos  
    OP
       2019-05-09 14:09:55 +08:00
    @CEBBCAT
    @jsnjfz
    @Kilerd
    谢谢三位前辈 已 star
    hellomacos
        30
    hellomacos  
    OP
       2019-05-09 14:11:04 +08:00
    @fngtz
    谢谢回答 适合自己的就是最好的 一直在实践中寻找属于自己的学习之道
    hellomacos
        31
    hellomacos  
    OP
       2019-05-09 14:11:54 +08:00
    @liuxey 谢谢前辈指导
    gitlight
        32
    gitlight  
       2019-05-09 15:02:07 +08:00 via Android
    面对需求,面向对象逐个解决
    Qzier
        33
    Qzier  
       2019-05-09 15:07:10 +08:00 via iPhone
    熟读官方文档,多写代码。
    mseasons
        34
    mseasons  
       2019-05-09 15:43:24 +08:00
    看不懂就抄,多抄几遍
    bxqqq
        35
    bxqqq  
       2019-05-09 15:57:38 +08:00
    我举个例子,比如你要做爬虫。现在不要去看任何项目,你想象下怎么做,会觉得没思路的话,是为什么,是不知道爬虫具体干了什么?那么去了解爬虫干了什么。具体分几步,如何发送请求,如何获得数据,如何解析 dom 树,如何写入文件中。自己尝试找一些库来做,遇到些问题,那么就解决这些问题。你看别人项目,你知道它们这么写能跑通,但是不知道它们为什么这么写,为什么不用其他的方式写。 \n 你自己动手无从下手,你把你无从下手的哪里写到本子上,不可能完全无从下手吧?那个你不知道改如何写的地方是你需要搞清楚的。 \n 希望能给你一点点的启示。
    tuding
        36
    tuding  
       2019-05-09 16:09:32 +08:00
    IT 大(zhai)佬(nan)的第一个项目难道不是爬 1024 吗?
    做为一个吃货, 我的第一个项目是爬大众点评网, 然后一步步入坑 python
    遇到问题, 网上搜解决方法, 不要复制粘贴, 理解了再以自己的方式写出来.
    Yourshell
        37
    Yourshell  
       2019-05-09 16:10:16 +08:00
    你想实现什么东西可以使用 Python,而不是使用 Python 去实现什么东西。
    hellomacos
        38
    hellomacos  
    OP
       2019-05-09 16:18:51 +08:00
    @bxqqq 谢谢前辈的提示。目前遇到的情况是能独立分析这个网站该怎么爬 分几步 但是具体的思维还是会局限于其他项目实例的方法 提取的时候不知道是该用 re 还是 xpath 亦或者 bs4 (有点描述的不清楚,就感觉写爬虫还是会去回想项目实例是怎么写的 自己能不能套用这个套路 这样造成了没有自己的思维一样 非常困惑)。


    @tuding 谢谢前辈指导,目前状态就是理解了以后到自己动手一脸懵 55555 ~
    vipdog73
        39
    vipdog73  
       2019-05-09 16:58:01 +08:00
    @hellomacos 同感
    amosmz
        40
    amosmz  
       2019-05-09 22:48:52 +08:00
    我也是小白一枚,大腿略过

    从需求出发吧,你有什么想要爬取得内容,就去看那个网站。
    你要学的话,简单就是找一个博客,直接去爬,或者去爬一些图片下来。
    python 拿过来,先把博客所有内容拿到,拿到后用正则去获取里面的标题或者内容(方法有很多,就像你说的你不知道什么方法好,别想那么多,先做出来再说) , 然后再想办法把标题连接里面的内容拿到,组合起来。最简单的就这样。
    先做后想,做多了,自然就知道什么方法好
    Leigg
        41
    Leigg  
       2019-05-10 09:04:28 +08:00 via iPhone
    需求导向,尝试自己写个博客后台
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2553 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 02:18 PVG 10:18 LAX 19:18 JFK 22:18
    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