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 · 4013 次点击
    这是一个创建于 1807 天前的主题,其中的信息可能已经有所发展或是发生改变。
    作为一个新手,总想跨入编程世界的大门。
    人生苦短,我学 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
        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   ·   我们的愿景   ·   实用小工具   ·   1014 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 19:29 · PVG 03:29 · LAX 12:29 · JFK 15:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.