一个 Python 小白 10 个月的 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
Teyying
V2EX    Python

一个 Python 小白 10 个月的 Python 之旅:还是小白

  •  
  •   Teyying 2018-07-08 07:47:28 +08:00 via iPhone 4217 次点击
    这是一个创建于 2706 天前的主题,其中的信息可能已经有所发展或是发生改变。
    看了 DrinkMoreWater 的主题感同身受,从没在任何社区发表过主题,突然想坚强的发表一篇自己的 python 学习经历和以及对和我一样的人的一些学习经验。我也是一个没有学历的业余爱好编程的人,到目前编程刚入门,深知没有导师的孩子是痛苦的,先分享一下自己学习历程,最后有经验分享给和我同样没学历,爱好编程,又没朋友做这一行以及老师指导的朋友。学历高的当故事看,或者直接跳过,那些经验应该只适合我们。
    学编程之前一个月对处理图片有点兴趣,就自学了一个月 PS,之后就就想起小时候的编程梦想,就开始搜索到底怎么编程,编程真正是什么东西,后来才知道原来编程还分那么多语言,想到自己学历很浅,就搜了一下有什么对初窥编程的人入门简单一点的,后来看了很多评论,就选了 python。
    初学编程很激动,环境跟着网上学着部属好之后就迫不急待找资料学习,第一本书籍是《与孩子一起学编程》,没跟着学完,后面压根看不懂,就又找书籍,《流畅的 python 》,《 python 简明教程》,《 python 标准库》等,其实都没有看完,后面看不懂,又跟着廖雪峰老师的教程走了一些,很迷茫,看视频教程才知道原来编程世界的范围这么广,自己业余的没方向,知道数据挖掘啥的不适合咱这学历浅的,爬虫呢,想想自己去爬什么东西,干什么呢,自己业余的没啥需求就没学,就定个了目标:web 开发,谁知道还 flask,django,tornado 等框架,得挑一个简单易学的呀,就尝试了 flask,在学的时候又崩溃了,还要学习一下 html,css 和 js,就又看视频教程学了很长时间,这期间又了解了一下什么是数据库,mysql(之前教程里跳过没学)和 git 的使用以及 ubantu 系统是什么。
    之后又反回来学 flask 框架,跟着操作了两遍,感觉要创建一个博客网站练习又要学好多东西,关键是发现自己不太喜欢,顿时又受挫没方向了,后来想到 GUI 编程,挺喜欢的,能直接实现自己的一些小想法,开始学的是 python 自带的库 tkinter,学了一段时间,自己想了一个项目练手,写练手的项目期间需要爬一些东西显示在上面,就又学了最简单的 requests 库,达到自己需求就行,没往深处学,等做完了自己的项目,发现 tkinter 界面太 low 了,自己又挺喜欢做 GUi 编程的,就又挑了 PyQt5 开始学,本来挺兴奋 PyQt 能用设计师拖动设计界面,试了一下发现看不懂代码,干脆就不用设计师,先通过代码练习弄懂了再用,这时已经懂得没有项目练手就没有方向感,自己又没想到别的项目,就又把之前的项目用 PyQt 做了一遍,代码中还可以参着 html 的一些代码,以及类似 css 的 qss 样式设置。我把所有自己学的东西都大量的以自己能看懂的方式在 Jupyter Notebook 上做了笔记以及代码注释,做 GUI 编程庆幸的是自己学了一个月的 PS,这样前端设计才没有难到自己,虽然不怎么好看,目前正用第二个项目练手。
    这期间去找了个培训班了解了一下,学费挺贵,2 万多,自己也没好好打算入这一行,就放弃交学费了。以上就是我 10 个月的学习历程,中间入了无数的坑,有的坑知道很简单,就是搜索不到方法,比如知道 PyQt 某个类中肯定有一个方法可以解决自己的问题,就是找不到方法名是什么。这要是有个人直接给你说一下方法名是什么,不用他教怎么用,就能省下好多时间。
    学习历程略平淡的讲完了,其实各种痛苦相信不用言说,同类型的朋友都懂得。下面分享一下我的经验以及理解:
    1.其实学编程就像是在学汉语拼音,英语,法语什么的一样,它和人的交流语言一样,真的就像是一门语言,都是用字母来写,只是主谓宾顺序,或者形容词的顺序不一样,拼法也不一样。
    2.在学习 python 时,只需要学到类的用法,其它基础像什么操作 excel,操作数据库什么的,可以跳过先不学,等你找到自己的方向时,比如学爬虫时,你想要把数据存储在 excel 中时,再去学操作 excel 方法,再比如你 web 开发时要用到用户登陆以及用户注册时,再学数据库以及操作,这样你在学习时就有目的性,才能感觉到学有所获,学习时相对也快,理解也深一些,不然好多东西你不知道用在哪,即使知道,没有实际目的或者项目去操作时,会不知所措。
    3.下载一个有道词典,把有些经常出现,还不明其意的单词保存一下,学习消化它,这样看英文文档某些地方不适合用网页翻译的地方,也能猜个七七八八,能帮助自己找到方法就行。
    4.代码注释对我们很重要,如果练写代码时有些地方注释来不及写,就全部写完时,再对全部代码稍微有点必要的地方都写上注释,别怕注释写的嗦,这是给自己看的,别人才不看呢,写的多了,注释就精简了。当然还有最重要的,写笔记,如果是复制别人的,应该是用到的某一小段,不要全文复制(可以加到网页书签里面以便查看),不然以后你的笔记你都不想看,太繁杂了,因为不是自己写的,找东西都不好找。
    5.不管是什么库,比如 flask,pygame,numpy,PIL 等,他们的在 python 中概念是一样的,就好比你在学某些软件的使用方法一样(比如 word,PS,优酷,AutoCAD),你需要它了就去学,并且只学里面你需要的方法,因为有些方法很复杂,没需求时很难看懂。
    6.加入一些交流群,虽然你的大部分问题没人理你。但是,别人的问题,你懂的要帮助一下,想想自己没人帮助时痛苦的样子。这样也能加深你对代码的理解。
    7.有心情时,很有必要看一些比如操作系统,进程和线程的视频课,手机上备着慕课,腾讯课堂,麦子学院等 APP。
    8.当然刚开始学习 python 时,也可以下载一个手机 python 代码编辑器,不方便在电脑跟前,又想学习时很有用。比如 pythoni 3.3,learn python,刷一些网上的题。
    很诚肯的写了一些学习历经,希望看故事的科班生以及大神们不要笑话,或许我这经历能给像我这样的人一些思路,多一些目的性,也是那位 DrinkMoreWater 题主所期望的,也希望大神们看到我们小白的问题时,在空闲的时候尽量帮助一下,感激不尽。
    觉得本人的贴值得赞一下的话,给一个动力哦!
    也欢迎朋友们讲述一下自己的学习经历,互相读一下对方的故事。
    21 条回复    2018-07-10 20:19:34 +08:00
    jhsunnyshine
        1
    jhsunnyshine  
       2018-07-08 09:27:05 +08:00 via Android   1
    给你点赞,话说就是这样,把基础语法搞明白了就去找个项目练手,没必要死磕一个不清楚的问,比如面向对象,比如多线程,多写就会熟悉,熟悉后就慢慢理解,我家那位就是,不写代码就看个视频,弄不清楚直接问我,自己不思考我给她讲她也理解不了(当然也可能我讲的不好),反正问我一次骂我一次 QAQ
    ytmsdy
        2
    ytmsdy  
       2018-07-08 11:25:21 +08:00 via iPhone   1
    新手要从头到尾的做一个项目,自学能力如果不够的话,很容易掀桌子。慢慢学吧,it 虽然工资看着光鲜亮丽,但是一步一步的学下来,做下来,你就会发现这钱没那么好赚。
    Teyying
        3
    Teyying  
    OP
       2018-07-08 13:15:18 +08:00 via iPhone
    @jhsunnyshine 感谢点赞!你家那位很好啦!有你可以解决很多小问题的处理时候,以及方向的指导!
    Teyying
        4
    Teyying  
    OP
       2018-07-08 13:16:10 +08:00 via iPhone
    @ytmsdy @ytmsdy 等新手知道用一个项目去学习的时候,要么之前就已经死瞌自己用不到的问题,无数次临近崩溃的边源了,所以尽早知道才可以少走很多弯路,学习信心也会大一些,对吧?
    cosven
        5
    cosven  
       2018-07-08 13:24:01 +08:00
    题主加油 ~

    > 可以下载一个手机 python 代码编辑器
    这个我以前也折腾过,后面发现其实没什么用,手机上写代码几乎不可能

    > 加入一些交流群
    根据过去的经验,*大的* 交流群里面一般都是灌水,不太会有很有意义的资料

    > 也希望大神们看到我们小白的问题时,在空闲的时候尽量帮助一下,感激不尽。
    我觉得肯定有一部分大神是愿意回答你的问题的。但提一个好的问题也有很有难度的:
    1. 将问题描述清楚(将错误日志贴出来,或者截图) 2. 明确自己的问题具体是什么(很多人根本说不清自己的问题到底是什么,我以前就是这样)

    > 项目用 PyQt 做了一遍
    题主如果有兴趣,可以来一起搞 https://github.com/cosven/FeelUOwn 这个项目。

    关于学习编程(写项目):个人感觉最好从兴趣出发、从自己的需求出发,然后慢慢的实现一个东西。
    关于学习方法:学完基本语法就可以写代码或者项目,一定要自己动手写。遇到问题先去 google,一般都能有答案(不要去 Baidu )。项目写一段时间后,可以回头再看看书,复习。
    关于论坛和交流群:个人感觉这两个东西更适合用来获取一些信息,不是很适合初学者学习。

    好奇题主是学生还是已经工作了
    Teyying
        6
    Teyying  
    OP
       2018-07-08 14:10:39 +08:00 via iPhone
    @cosven 非常感谢你建议!是的,手机 python 代码编辑器就在学习基础语法时可以借助随时学习,后面就没用了。本人做小生意的,空闲时间多,就想起小时候对编程的憧憬了,呵呵!如果本人有那么一点用武之地,很愿意参加你 github 上面的项目!
    craiiz
        7
    craiiz  
       2018-07-08 21:57:03 +08:00
    之前学 python 的时候也遇到无数坑,但还是挺过来。入门时把《 LPTHW 》里面的例子一字不差写了一遍。后来又过了一遍廖雪峰的网站。 然后.....然后就没然后了......后来遇到一些需求就自己拆分问题拆到细节,然后找对应的方法解决就行了。毕竟不是专业程序员...能搞定自己的需求就 OK 了..
    ile1
        8
    qile1  
       2018-07-09 02:51:09 +08:00 via Android
    @cosven 那个项目如何参加,另外项目是干啥的?一个播放器?
    建议一个英文 redme,一个中午 redme
    另外描述下项目是做啥的
    Teyying
        9
    Teyying  
    OP
       2018-07-09 09:27:33 +08:00 via iPhone
    @craiiz 嗯,非专业程序员需求要简单一些。
    a7a2
        10
    a7a2  
       2018-07-09 10:00:48 +08:00
    看你终极目的。
    如果是为了写大型后端早点放弃 python,如果是做作小程序,做做数据分析的就适合。。。

    可以考虑 dart、swift 之类的较新的语言才有前途
    chesterzzy
        11
    chesterzzy  
       2018-07-09 10:26:05 +08:00
    反正到最后都会发现,要学的不是语言,而是思想和模式。

    以前看大神们说语言只是工具,我还不信。

    直到自己做项目,要用到 Python 的多进程提高并发,才发现和 c 啊 java 啊 go 啊的一比真是不行。
    fushall
        12
    fushall  
       2018-07-09 11:37:14 +08:00
    哈哈哈,我也是新人哦,正遇到楼主一样的问题,
    我现在对 Python web 方向比较感兴趣,也弄过微信小程序。
    写程序嘛,自己开心就好啦,比如我,只要是用着 Python,
    就很开心啦,
    https:// github. com /fushall 虽然我代码写得很烂,但是很爱折腾呢^^
    cosven
        13
    cosven  
       2018-07-09 13:11:06 +08:00
    @qile1
    > 那个项目如何参加,描述下项目是做啥的
    恩,这个正在计划添加中 =。= 这两天应该会加上
    Windsooon
        14
    Windsooon  
       2018-07-09 13:56:59 +08:00
    首先应该知道自己想要做什么,其实你尝试了那么多不同的领域,应该心里有点想法,自己喜欢哪个方向。

    1. 如果没有编程基础的话,可以先从 HTML 和 CSS 入门。然后再过渡到 web 应用。这时候使用什么语言倒是不重要。2. 如果想用 python 马上做一些东西,例如文本处理,格式转换的话,我推荐这本书[Python 编程快速上手 让繁琐工作自动化]( https://item.jd.com/11943853.html),当然优达学城里面也有不少不错的免费课程,手把手教学或许上手比较快。
    3. 也可以尝试接触下 pygame,这个框架用来写游戏非常容易和有趣。

    算法和数据结构可以之后再接触,至于你说的教程看不下去的情况,我想大家都有遇到,只能仔细慢慢地研读,没有捷径。
    singed
        15
    singed  
       2018-07-09 15:33:23 +08:00
    Teyying
        16
    Teyying  
    OP
       2018-07-10 03:16:41 +08:00 via iPhone
    @fushall 很好哦,什么时候去研究 web 方向了找你指路哦,方便留微信或者 QQ 吗?
    Teyying
        17
    Teyying  
    OP
       2018-07-10 03:17:18 +08:00 via iPhone
    @singed 谢谢朋友
    Teyying
        18
    Teyying  
    OP
       2018-07-10 03:20:58 +08:00 via iPhone
    @a7a2 谢谢提供信息,目前业余,没追求大项目
    Teyying
        19
    Teyying  
    OP
       2018-07-10 03:24:41 +08:00 via iPhone
    @chesterzzy 目前离你说的还远哦!还是在学语言阶段,等什么时候把 python 玩的没啥目标了,一定会再学一门语言,朋友们都加油哦!
    Teyying
        20
    Teyying  
    OP
       2018-07-10 03:25:00 +08:00 via iPhone
    @singed 谢谢!
    chenji123
        21
    chenji123  
       2018-07-10 20:19:34 +08:00
    看看啊,支持,学习啦
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3348 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 10:50 PVG 18:50 LAX 02:50 JFK 05:50
    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