Loading... # 以下 内容来源于github的搜索整理 参照以下文章: <button class=" btn m-b-xs btn-danger " onclick="window.open('https://github.com/Yixiaohan/codeparkshare/blob/master/README.md','_blank')">PythonShare</button> ## 一、学会使用搜索引擎,尤其是Google。推荐阅读文章 [《如何用好Google搜索引擎?》](http://www.zhihu.com/question/20161362) 知乎问答@崔凯 [《十大高明的Google搜索技巧》](http://www.williamlong.info/archives/728.html)by-雪影蓝风 [《如何用好Google》](http://wordpress.lixiaolai.com/archives/992.html) by-李笑来 其实百度也是如此,关键是你要学会用短短几个字把问题描述清清楚楚 或者你可以简单明了的直接复制报错内容! ## 二、学会提问 推荐阅读 [《提问的智慧》](http://wiki.woodpecker.org.cn/moin/AskForHelp) by-啄木鸟社区 由于第二个链接已经失效,我们在这里陈述一些内容! <div class="panel panel-default collapse-panel box-shadow-wrap-lg"><div class="panel-heading panel-collapse" data-toggle="collapse" data-target="#collapse-11d8c7b737c147067bfbff2ea8f7f63590" aria-expanded="true"><div class="accordion-toggle"><span style="">提问的智慧</span> <i class="pull-right fontello icon-fw fontello-angle-right"></i> </div> </div> <div class="panel-body collapse-panel-body"> <div id="collapse-11d8c7b737c147067bfbff2ea8f7f63590" class="collapse collapse-content"><p></p> ![请输入图片描述](https://wiki.woodpecker.org.cn/moin/AskForHelp?action=AttachFile&do=get&target=questions4mind.png) 以下内容有删改 ## 国内的大多数IT社区,包括CSDN、Python中文,以及大大小小的QQ群,小论坛等等,无不充满了大喊大叫的新人。 实际上,初学者们不正确的交流方式,大大影响了他们得到帮助的机会。总结起来,以下几种表现,几乎是一定会被忽视的。 ### 大喊大叫。使用过大的字体,过于鲜艳的颜色,都会严重影响阅读。 技术交流首先要保证消息的可读性,不要没事儿走视觉系。要知道每天坐办公室啃代码的老家伙们骨子里跟非主流艺术青年八九是不搭界的。黑色或靛蓝等传统的书写颜色可以让人舒服的阅读。 ### 好读的网名 如果你使用了过长的网名,叫人家都无法读出来,心理上来说就不太好受,名字切记不要重复,过长等,这样很容易就认错人,毕竟qq群正常合理聊天的,极限程度是5个人左右的激烈讨论,否则真的看不下去了。 ### 珍惜厚道的解答者 当然,不收你钱,给你耐心解答,并不意味着成为你的独一无二的解答人,尽量问些适合他的问题,切记不要让他认为你是一个骚扰者,他既然能够任劳任怨的为你解答。 ### 不要用挑衅的语气问问题 这个纯粹的是没事找事搞着玩的行为,你如果要独善其身,建议不要这样操作,非常烦人的。 <p></p></div></div></div> ## 三、书籍推荐 ### 零基础 0. Python官方文档[点击打开链接](http://docs.python.org/2/tutorial/index.html) 英语不好的,暂时就先别看了,以后一定肯定要加强英语学习哦;)。 1. 推荐[《How to think like a computer scientist》](http://www.greenteapress.com/thinkpython/thinkCSpy.pdf),对应中文版本《Python学习笔记--皮大庆》,非常适合零基础入门。 2. 推荐 [《Python编程实践》] ([http://book.douban.com/subject/7059900/](http://book.douban.com/subject/7059900/)) 3. 推荐[《简明Python教程》](http://woodpecker.org.cn/abyteofpython_cn/chinese/) 4. 推荐[《笨办法学 Python (Learn Python The Hard Way)》](http://learn-python-the-hard-way-zh_cn-translation.readthedocs.org/en/1.0/) ### 有其他编程语言基础 0. 推荐[《Python基础教程》](http://book.douban.com/subject/4866934/) 1. 推荐[Python入门教程-By廖雪峰](http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000) 2. [Tutorial - Learn Python in 10 minutes](https://www.stavros.io/tutorials/python/) ### 进阶 0. 推荐[Requests 源码阅读](https://github.com/wangshunping/read_requests) 1. [《Python进阶》(Intermediate Python 中文版)](https://github.com/eastlakeside/interpy-zh) ### 更多书籍推荐 0. **知乎问答** :[关于 Python 的经典入门书籍有哪些?](http://www.zhihu.com/question/19593179) 1. **V2EX问答** :[文科生想学Python](http://www.v2ex.com/t/40397) 2. [Python快速教程](http://www.cnblogs.com/vamei/archive/2012/09/13/2682778.html) ## 四、视频推荐 麻省理工公开课《计算机科学及编程导论》,该课程针对零基础者 [网易公开课](http://v.163.com/special/opencourse/bianchengdaolun.html) 。 课程介绍 这门课程适用于那些拥有 **很少或没有编程经验** 的学生,它致力于使学生理解计算机在解决问题中的作用,并且帮助学生, **不论其专业** ,使他们对于能够完成有用的小程序的目标充满信心。 B站在原文之中没有提及,其实还是可以去光顾一下的。 对于理论的学习,我们需要绘声绘色的讲师们花心血制作的视频。 这无疑是非常上头的,但是切记一切从文档而生,文档的作用是不可缺少的 在早期学会使用文档,更是一个不错的能力! ## 五、学习方法 ### *知乎问答* :[零基础,应当如何开始学习 Python ?](http://www.zhihu.com/question/20039623?nr=1)--by@黎敏 虽然我不是Python高手,但我是零基础,之前会的都是软件PS,PPT之类。 如果目的是想成为程序员,参考教学大纲。 如果只是学程序,理解科技,解决工作问题,我的方式可以参考使用: 1. 找到合适的入门书籍,大致读一次,循环啊判断啊,常用类啊,搞懂(太难的跳过) 2. 做些简单习题,字符串比较,读取日期之类 《Python Cookbook》不错(太难太无趣的,再次跳过,保持兴趣是最重要的,不会的以后可以再学) 3. 加入Python讨论群,态度友好笑眯眯(很重要,这样高手才会耐心纠正你错误常识)。 很多小问题,纠结许久,对方一句话点播思路,真的节约你很多时间。耐心指教我的好人,超级超级多谢。 4. 解决自己电脑问题。 比如下载美剧,零散下载了2,4,5,8集,而美剧共12集,怎样找出漏下的那几集?然后问题分解,1读取全部下载文件名,2提取集的数字,3数字排序和(1--12)对比,找出漏下的。 5. 时刻记住目的,不是为了当程序员,是为了解决问题。 比如,想偷懒抓网页内容,用urllib不行,用request也不行,才发现抓取内容涉及那么多方面(cookie,header,SSL,url,javascript等等),当然可以听人家劝,回去好好读书,从头读。 或者,不求效率,只求解决,用ie打开网页再另存为行不行?ie已经渲染过全部结果了。 问题变成:1--打开指定的10个网页(一行代码就行)。更复杂的想保存呢?利用已经存在的包,比如PAM30(我的是Python3),直接打开ie,用函数outHTML另存为文本,再用搜索函数(str搜索也行,re正则也行) 找到数据。简单吧?而且代码超级短。 6. 保持兴趣,用最简单的方式解决问题,什么底层驱动,各种交换,留给大牛去写吧。我们利用已经有的包完成。 7. 耐心读文档,并且练习快速读文档。拿到新包,找到自己所需要的函数,是需要快速读一次的。这个不难,读函数名,大概能猜到是干嘛的,然后看看返回值,能判断是不是自己需要的。 8. 写帮助文件和学习笔记,并发布共享。教别人的时候,其实你已经自己再次思考一次了。 我觉得学程序就像学英文,把高频率的词(循环,判断,常用包,常用函数)搞懂,就能拼装成自己想要的软件。 然后,[http://stackoverflow.com](http://stackoverflow.com/) 和 [http://Google.com](http://google.com/) 是很好用的。 然后,坚持下去。 一定要保持兴趣,太复杂的跳过,就像小学数学,小学英语,都是由简入深。 网络很平面,无数国际大牛著作好书,关于Python,算法,电脑,网络,或者程序员思路,或者商业思维(浪潮之巅是本好书)等等,还有国际名校的网络公开课(中英文字幕翻译完毕,观看不是难事),讲计算机,网络,安全,或者安卓系统,什么都有,只要能持续保持兴趣,一点点学习下去,不是难事。 所有天才程序员,都曾是儿童,回到儿童思维来理解和学习。觉得什么有趣,先学,不懂的,先放着,遇到问题再来学,效果更好。 唯一建议是,不要太贪心,耐心学好一门优雅的语言,再学其它。虽然Javascript做特效很炫,或提某问题时,有大牛建议,用Ruby来写更好之类,不要改方向。就像老笑话:“要学习递归,必须首先理解递归。”然后死循环一直下去。坚持学好一门语言,再研究其他。 即使一门语言,跟网络,数据库等等相关的部分,若都能学好,再学其他语言,是很快的事情。 另外就是,用学英文的耐心来学计算机,英文遇到不懂的词,抄下,查询。 python里,看到Http,查查定义,看到outHtml,查查定义,跟初学英语时候一样,不要直接猜意思,因为精确描述性定义,跟含糊自然语有区别的。而新人瞎猜,很容易错误理解,wiki,google很有用。 ### *芝麻问答* :如何学习Python [点击打开链接](http://www.zhimaq.com/questions/70/python)作者:@halida #### 如何学习python 我们假设你是一个初级程序员, 只懂得一点点的基础知识, 希望能够用python来做开发. 这篇文档就是为了满足以上目标而写的. **大纲** 按照这篇文档所指示的任务过一遍, 你就能够做到: 熟悉python语言, 以及学会python的编码方式. 熟悉python库, 遇到开发任务的时候知道如何去找对应的模块. 知道如何查找和获取第三方的python库, 以应付开发任务. 学习步骤 **安装开发环境** 如果你在window下, 去下载pythonxy安装起来, 然后运行python, 进入python解释环境. 如果你在ubuntu下, 执行: sudo apt-get install python, 然后在命令行下运行python, 进入python解释环境. 可以在anaconda.com下载anaconda mac linux win皆可运行 不知道是啥的还是百度吧!我们不吹不黑 **学习方法** 作为一名成熟的开发人员, 我学习新东西(假设是pyqt)的习惯方式是: 直接用google搜索pyqt的官方网站. 按照官方网站的说明, 下载pyqt. (如果是用ubuntu, 看看软件库里面是否有足够新的版本) 下载过程中, 开始阅读官方网站上面的教程. 一边看教程, 一遍按照教程使用pyqt. 如果发现教程不够全面, 用google搜索是否有对应的教学书籍可以看. 示例学习完毕, 开发一个玩具程序, 用来检验自己是否需要用到的功能. 开始学习python 我建议你学习的过程也按照上面来, 首先过一遍python官方文档: [http://docs.python.org/tutorial/index.html](http://docs.python.org/tutorial/index.html) 然后做 [http://www.pythonchallenge.com/](http://www.pythonchallenge.com/) 这个网站上面的题目. 如果卡在某一关太久, 可以看答案(google python challenge answer), 做完后看看别人的编码方式和自己有什么区别. **小项目** 做完一遍后, 你会发现已经熟悉了基本的python开发. 然后做点小项目吧. 这里是一些题目, 挑感兴趣的去做. * 写一个简单的计算器/记账软件/扫雷游戏(用pyqt库做界面) * 写一个聊天室网站(用webpy框架, jquery刷新新的回复) * 写一个爬虫, 获取douban上面所有用户的地点, 画地点分布的直方图(用lxml解析, 保存数据到sqlite里面去, 用matplotlib画图) **FAQ** Q: 遇到了问题, 到哪里求助? A: 上 [http://groups.google.com/group/python-cn](http://groups.google.com/group/python-cn) (需要翻墙) 或者 [http://stackoverflow.com](http://stackoverflow.com/) 提问就可以了. Q: 如何查找python的某个功能? A: 看官方文档. [http://docs.python.org/library/index.html](http://docs.python.org/library/index.html) Q: 如何用python完成一个任务(比如写网站)? A: google: python 写网站, 或者 google: python web development. ### *知乎问答* :你是如何自学 Python 的?[点击打开链接](http://www.zhihu.com/question/20702054) 作者:@成增存 **阶段一** :前辈领进门。 第一眼是一个前辈给我看了看Python的代码,因为自己最早学习的是Java语言,第一眼看到Python的时候,前辈说,“Python是面向对象的”,然后就 打印了几句代码。可我怎么也看不出到底哪里是“面向对象”的。前辈说“在Python里,一切皆对象”,我才有点领悟的说道:“原来把什么看成对象,就是面向对象”,哈哈。 **阶段二** :开始看的是《Dive into Python》、《Leaning python》、《Python Doc》。 因为有很多语言学习经历,很快就完成了初步语法和使用学习。太复杂的特性还是在使用中逐步掌握的。 **阶段三** :开始使用Python做自己的一些日常工作。 比如Python搜索文件,Python批量处理等,使用最多的还是re模块和socket相关模块。写了大量的例子,让自己对Python更加喜爱,也更加熟悉。此时翻阅最多的是《Python Doc》的指南。不管是语言参考、库参考、Demo参考,都有大量可使用的内容,内容质量很高堪比JDK。 **阶段四** :生产上马。 开始使用Django,Flask,Tornado开发一些web应用,写一些日常使用的工具包等。逐步提升设计能力,和整体代码的管理能力。 **阶段五** :更合理的分配好C,Java,Python三门语言各自擅长的部分。 把合适的语言用到合适的地方。尽管一门语言有时候可以搞定所有的,但用擅长的语言解决合适的问题才是效率最高的。这也是“Python的大道至简”的理念带给我的帮助和认识。 PS:其中过程中主要的一些 **方法** : 1. 看书。学习的基础。 2. 自己本地练习。编程还是要实践出真知。 3. 资料查询。google,stackoverflow等多关注。 4. 交流。各种论坛上的python group,论坛。最早去的CU,JavaEye,不过现在貌似去的少了。**google group** 必须订阅。 学习+实践+总结,掌握语言的法宝。 ## 六、Just Do It 看了这么多资料了,还没动手敲代码? 好吧,最好一篇文章《我在学习编程中犯的两个 **最大错误** 》[点击打开链接](http://blog.jobbole.com/26552/) Just do it 。动手敲代码吧。 注:本文由@史江歌([shijiangge@gmail.com](mailto:shijiangge@gmail.com))根据互联网资料收集整理而成。 ## 七、更新 [Python技术博客、招聘、开源软件、Python中文网站导航](http://simple-is-better.com/sites/) [遇到python问题怎么样解决?python help dir stackoverflow docs google](http://blog.csdn.net/xiaowanggedege/article/details/8753013) [在线视频教学(英文)codecademy](http://www.codecademy.com/zh/tracks/python) [英文Python for beginners](http://www.pythonforbeginners.com/) 英文How do I learn Python from zero to web development?(各种电子书推荐)[点击打开链接](http://programmers.stackexchange.com/questions/12189/how-do-i-learn-python-from-zero-to-web-development) [Python应用与实践](http://www.cnblogs.com/skynet/archive/2013/05/06/3063245.html) Python是什么?谁在用它?相关工具?作者:@吴秦 [Python模块学习](http://blog.csdn.net/JGood/article/category/554799/4) 相当于翻译官网文档 针对有其他语言经验的人,英文:[Learn X in Y minutes](http://learnxinyminutes.com/docs/python/) 中文翻译[Y分钟学会Python(译)](http://youngsterxyf.github.io/2013/06/29/learn-python-in-y-minutes/) [PyCoder’s Weekly 中文翻译](http://pycoders-weekly-chinese.readthedocs.org/en/latest/index.html) 说明:文章质量很高 [PEP 20 (Python之禅) 的实例](http://artifex.org/~hblanks/talks/2011/pep20_by_example.html) 说明:code_stype [Unicode之痛](http://pycoders-weekly-chinese.readthedocs.org/en/latest/issue5/unipain.html) 必读 [有关 Python 2 和 Sublime Text 中文 Unicode 编码问题的分析与理解](http://v2ex.com/t/163786#reply12) 必读 [stackoverflow上Python相关回答整理翻译](https://github.com/wklken/stackoverflow-py-top-qa) [Python语言总结-初级中级高级教程](http://www.crifan.com/files/doc/docbook/python_summary/release/html/python_summary.html) 作者:@Crifan Li [Python Guide Python 最佳实践(英文)](http://docs.python-guide.org/en/latest/?utm_campaign=Manong_Weekly_Issue_10&utm_medium=EDM&utm_source=Manong_Weekly) [Python 最佳实践指南(中文)](https://github.com/Prodesire/Python-Guide-CN) 关于Python安装、配置、和日常使用的最佳实践手册。 [Python 最佳实践指南 2018](https://pythoncaff.com/docs/python-guide/2018) Python 日常使用的最佳实践,高级 Python 开发者必知必会的知识 [《码农周刊》干货精选(Python 篇)](http://baoz.me/446252) 精选总结 [Python 3 Module of the Week](https://pymotw.com/3/) Python 标准库的使用 [Python - 100天从新手到大师](https://github.com/jackfrued/Python-100-Days) 100天从新手到大师 [Python 和 Diango 学习资料,书籍,文章,以及实战项目](https://github.com/zaxlct/python-django-learning) [What the f*ck Python!](https://github.com/satwikkansal/wtfpython) [https://github.com/leisurelicht/wtfpython-cn](https://github.com/Yixiaohan/codeparkshare/blob/master/wtfpython%E7%9A%84%E4%B8%AD%E6%96%87%E7%BF%BB%E8%AF%91) ## 八、爬虫以及模拟登陆新浪微博 [知乎:Python 爬虫如何入门学习](http://www.zhihu.com/question/20899988) [Python爬虫学习系列教程 @崔庆才](http://cuiqingcai.com/1052.html)系列教程,入门、实战、爬虫利器介绍、进阶 [Python模拟登录新浪微薄(使用RSA加密方式和Cookies文件)](http://yoyzhou.github.io/blog/2013/03/18/sina-weibo-login-simulator-in-python/) [http://uliweb.clkg.org/tutorial/view_chapter/240](http://uliweb.clkg.org/tutorial/view_chapter/240) [一个简单的分布式新浪微博爬虫](http://qinxuye.me/article/a-distributed-weibo-crawler/) [用python爬虫抓站的一些技巧总结](http://obmem.info/?p=476) [使用python爬虫抓站的一些技巧总结:进阶篇](http://obmem.info/?p=753) [网络爬虫系列](http://blog.csdn.net/pleasecallmewhy/article/details/8922826) ## 九、工具 Windows系统下,Python相关包[Windows Binaries for Python Extension Packages](http://www.lfd.uci.edu/~gohlke/pythonlibs/) anaconda [anaconda下载](http://anaconda.com/) Last modification:August 3, 2021 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 如果觉得我的内容对你有用,请随意赞赏