如何自学精选Python干货

上传人:灯火****19 文档编号:94919123 上传时间:2022-05-23 格式:DOCX 页数:8 大小:39.30KB
收藏 版权申诉 举报 下载
如何自学精选Python干货_第1页
第1页 / 共8页
如何自学精选Python干货_第2页
第2页 / 共8页
如何自学精选Python干货_第3页
第3页 / 共8页
资源描述:

《如何自学精选Python干货》由会员分享,可在线阅读,更多相关《如何自学精选Python干货(8页珍藏版)》请在装配图网上搜索。

1、如何自学Python(干货合集)Learn Python The Hard Way learnpythonthehardway.org 零编程基础学python ,浅显易懂,操作性强。中文翻译版本: 笨办法学 Python其实python非常适合初学者入门,上手很容易。 我就是完全通过网上资源学了python 的。最大的是3点经验:1 .找一本浅显易懂,例程比较好的教程,从头到尾看下去。不要看很多本,专注于一本。把里面的例程都手 打一遍,搞懂为什么。2 .去找一个实际项目练手。我当时是因为要做一个网站,不得已要学python o这种条件下的效果比你平时学一门新语言要好很多。所以最好是要有真实的

2、项目做。可以找几个同学一起做个网站之类。3 .最好能找到一个已经会python的人。问他一点学习规划的建议,然后在遇到卡壳的地方找他指点。这样会事半功倍推荐几个网上的资源:简明Python 教程 与孩子一起学编程 Head First Python 中文版 笨办法学PythonPython 核心编程 深入理解Python Python 标准库 Python 编程指南diango book中文版解压密码均为:crossin.me在线教程:简明Python 教程:简明 Python 教程 (较新版):A Byte of PythonDive into Python : Dive Into Pyth

3、on 阶段一:前辈领进门。第一眼是一个前辈给我看了看Python的代码,因为自己最早学习的是 Java语言,第一眼看到 Python的时候,前辈说,“Pytho面向对象的,然后就打印了几句代码。可我怎么也看不出到底哪里是“面向对象”的。前辈说“在 Python里,一切皆对象”,我才有点领悟的说道:“原来把什么看成对象,就是面 向对象”,哈哈。阶段二:开始看的是 Dive into Python 、Leaning python 、Python Doc 。因为有很多语言学习经历,很快就完成了初步语法和使用学习。太复杂的特性还是在使用中逐步掌握的。阶段三:开始使用 Python 做自己的一些日常工作

4、。比如Python搜索文件,Python批量处理等,使用最多的还是 re模块和socket相关模块。写了大量的例 子,让自己对 Python 更加喜爱,也更加熟悉。此时翻阅最多的是 Python Doc 的指南。不管是语言参 考、库参考、Demo参考,都有大量可使用的内容,内容质量很高堪比JDK。阶段四:生产上马。开始使用Django , Flask , Tornado 开发一些web应用,写一些日常使用的工具包等。逐步提升设计能力,和整体代码的管理能力。阶段五:更合理的分配好C, Java , Python 三门语言各自擅长的部分。把合适的语言用到合适的地方。尽管一门语言有时候可以搞定所有的

5、,但用擅长的语言解决合适的问题才是效率最高的。这也是“Python道至简”的理念带给我的帮助和认识。PS:其中过程中主要的一些方法:1、看书。学习的基础。2、自己本地练习。编程还是要实践出真知。3、资料查询。google , stackoverflow 等多关注。4、交流。各种论坛上的python group ,论坛。最早去的 CU , JavaEye ,不过现在貌似去的少了。googlegroup 必须订阅。学习+实践+总结,掌握语言的法宝。学Python ,看的第一篇文章来自42区,推荐大家看看 网站开发.漫游指南。多关注下牛人,多实践。更新 2013-12-17前段时间整理了一篇博客,搜

6、集了学习Python入门、数据库和 Web开发的一些资料,原文见 ,这里摘抄一下。入门和基础Python 有Python 2.x 和Python 3.x 之分,争论很多,见 Python2orPython3 。初学者不用考虑这个问 题,可以从 Python 2.x 入门,之后再讨论会多一些理性。? 洪强宁:Python 于 Web 2.0 网站的应用:豆瓣网洪强宁在QCon 北京2010中的技术分享,若不能访问,请自备梯子;另外,豆瓣的 阿北很值得关注。? A Byte of Python :即简明Python教程,边看边练习就对Python有基本的了解,可以轻松存活。? Googles Py

7、thon Lessons : Google 出品的 Python 教程,值得信赖。? Python Documentation : Python 在线文档,若嫌枯燥,可以直接看Python Standard Lib 。? 42 区:python 入门指弓I :江湖人称 张教主的Python 入门指引,除开 Python 核心编程 。严格 来说,这是张教主的一份Python资料索引。? CS61A: SICP with Python :作为计算机相关人士,SICP都不了解,实在很惭愧,所以来还债了。这应该是起源于 MIT的SICP教程,一个用 Python , 一个用Scheme。? 看到一个有

8、趣的 python的招聘测试:同学发的一个贴,总结了一下应聘中遇到的问题,并给出了相 应的资料来学习。如果想检测下自己的Python水平,请自觉移步 北京视讯天下的开发测试。? MOOC 们:在线公开课很多,见课程图谱;仅在Codecademy 上学了一点;现在希望能够每天跟进一些感兴趣的课程,多多学习。? 书:去年6月份一同事离职,我买了两本黑客与画家,一本送给他(博客一起去看海),另一本给部门老大;他回送了一本Python源代码剖析,看书名就知道是讲底层原理的,有机会啃啃。? 源代码:直接到 Github上去找吧。Python与数据库在项目开发中,数据库应用必不可少。这里汇总下目前接触过的

9、数据库和使用教程。SQL,计算机出身的人应该都学过,若有疑问可以参考Wikipedia SQL ,并使用SQLite做下练习。?PEP249: DB API :数据库访问接口规范,当时还做了一份笔记。? SQLite :教程见 SQLite Python Tutorial ;若要深入了解,推荐 The Definitive Guide to SQLite ; 看此书时,做了一些好句子、段落的摘要,见 Sentences in SQLite 3。? MySQL : 教程见 Python MySQL Database Access 。? Oracle Database :有可能这是最庞大的数据库,

10、所以需要专职的DBA。官方教程 The MasteringOracle+Python Series , 快速入门教程 cx Oracle Quick Start。? SQLAlchemy : Python的ORM标准和框架,解决面向对象编程和关系数据库模式不匹配的问题。数据库理论除了 SQL ,还有另一派NoSQL o关于常见 NoSQL产品的比较见 Main NoSQL Database Comparison;若果需要一些 NoSQL的理论知 识和基本概念,见 The NoSQL Ecosystem 、Big Data 与 NoSQL。目前仅用过 MongoDB 和 Redis。? Mong

11、oDB :如果熟悉 SQL , MongDB 的学习成本会很低;相关资料见Python Language Centerin MongoDB ;用过的两个驱动:1) PyMongo ,提供了类似 Mongo Shell的接口; 2)MongoEngine : A Python Object-Document-Mapper for working with MongoDB, 即MongoDB 的ORM框架,此时变成了 ODM , MongoEngine on Github 。? Redis : Redis需要一些学习成本,入门推荐The Little Redis Book ;用过的Python客户

12、端驱动Redis-py ;更多客户端见 Redis Clients 。? NoSQL建模:SQL发展了几十年,有很成熟的建模技术,那么 NoSQL呢,见陈皓:NoSQL数据建 模技术, 原文 NoSQL Data Modeling Techniques。? 更多资料:NoSQL 英文站点见 NoSQL Database ; NoSQL中文论坛见 NoSQL Fan :关注 NoSQl 相关的新闻和技术。NoSQL Fan中,MongoDB 和Redis资料很多,已经形成了资料专题,包括介 绍、内部实现、应用与优化、新闻等,总能发现你想要的东西:1) NoSQL Fan : Redis资料汇总专

13、2) NoSQL Fan: MongoDB资料汇总专题。Python 与Web开发Python 的Web框架众多,见 Web Frameworks for Python,总有一款适合你或你的项目,实在不行,请动手打造自己的框架;为什么会有这么多框架呢,见 Why so many Python wen frameworks? 。? Web.py :已故 Aaron Swartz 的框架。一句话介绍 web.py is a web framework for Python that is as simple as it is powerful. web.py is in the public do

14、main; you can use it for whatever purpose with absolutely no restrictions.。接触的第一个 Web 框架,后来模仿 MovableType ,写了一个简单的博客,见 Blog on Github ,在线demo? Pastime Paradise ;碰到的坑点是模板中嵌 套Python代码一直有缩进问题。? Flask : 一句话介绍 Flask is a lightweight web application framework written in Python and based on the Werkzeug WS

15、GI toolkit and Jinja2 template engine. It is BSD licensed. Flask is called a microframework because it keeps the core simple but extensible。 因为工作变动,练习过一段时间的Flask,以便熟悉开发的工具链;如果没有 Rails ,我想这才是自己首选的Web开发框架:simple but extensible and for fun 。实战教程 The Flask Mega-Tutorial 。? Tornado :来自FriendFeed的异步框架,Fri

16、endFeed 被Facebook 收购后开放了源代码,见Tornado on Github 。一句话介绍 Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed。Tornado 主要特点是 non-blocking ,如果你想开发 real-time 的Web应用,Tornado 是一个不错的选择。? Django : 一句tB介绍 Django is a high-level Python Web framework that enco

17、urages rapid development and clean, pragmatic design.,接触不多,作为全栈式框架,听说它的组件都是Made in Django 。更多资料见 Django 资料。IDE? Vim ?+? Python Mode 。目前就用这个方案,很方便,直接引用同学的效果图。关于Vim资料和讨论,请移步 Vim资料大全;关于Vim 更多插件和演示,请移步 k-vim on Github ;关于Git , Github , 请移步本站 Free Blog with Github Pages 。社区?啄木鸟社区?42区:网站开发.漫游指南? Python on

18、 V2EX? Python4cn? 豆瓣Python 小组?哲思社区周刊? Python Weekly :每周更新,包括 Python相关的文章、教程、演讲、书籍、项目、工作等。? Pycoders Weekly :与Python Weekly 类似,两者可以互为补充,了解过去一周动态。?码农周刊:?developerWorks出品的周刊,来自国人的分享。可以先看为什么要做码农周刊?;接着码农周刊用到的一些技术;再接着周刊回顾。这里不仅仅是 Python。我最先看的是简明Python 教程来熟悉一下语法,自己敲了一下代码,发现python很容易上手,渐渐喜欢上它。接着买了一本 python 基

19、础教程,跟着书中的例子深入学习。这本书讲得很详细,浅显易懂。当开始熟悉python的时候,尝试自己写一些脚本或软件来干一些有趣的事情。后来图像处理课程作业我也用python 来完成。与此同时,我坚持写 博客来记录一下自己的学习心得。现在我开始学习用python 的web应用。这才是 python 擅长的领域。它有很多好用的框架例如django,tornado 等,可以轻松地做一个网站,用 python 做网站后端也是一个越来越流行的趋势。学习python ,最重要的是要写出pythonic 的代码,这不是一朝一夕的事情。我喜欢 python ,就是因为它的简洁和强大。不要重复造轮子,学会优雅地

20、使用python 。Pythonic到底是什么玩意儿?附我看过的觉得不错资料PyCoder s Weekly 中文翻译学好Python 必读的几篇文章也应该订IMl一些 python 大牛的博客有哪些Python 大牛的 blog 推荐?和邮件列表我是自学的Python o从对Python 一无所知,到在博客上写Python相关的系列文章(Python快速教程),前后有将近三年的时间。期间有不少门槛,但也充满乐趣。乐趣是自学的最大动力。Python是一个容易编写,又功能强大的动态语言。使用 Python ,可以在短短几行内实现相当强大的功能。通过自己写一 些小程序,迅速的看到效果,发现问题,这

21、是学习 Python最便利的地方。在学习Python之前,可以了解一下 Python的特点和设计理念(Python简史)。在设计之初,Python就试 图在复杂、强大的C和方便、功能有限的bash之间,找到一个平衡点。Python的语法比较简单,用起来很方便,因此有些人把它当彳脚本语言使用。但 Python要比普通的脚本语言功能强大很多。通过良好的 可拓展性,Python的功能相当全面,应用面很广:web服务器,网络爬虫,科学运算,机器学习,游戏开发当然,天下没有免费的午餐,也没有完美的语言,Python为了达到上述两点,有意的牺牲了Python的运行速度。如果你是在编写高业务量、运算量的程序

22、,可能 Python并不是最好的选择。Python的主体内容大致可以分为以下几个部分:1 .面向过程。包括基本的表达式,if语句,循环,函数等。如果你有任何一个语言的基础,特别是 C语言的基础,这一部分就是分分钟了解下Python规定的事。如果你没有i言基础,建议从 PythonProgramming为参考书。这本书是计算机导论性质的教材,不需要编程基础。2 .面向对象,包括面向对象的基本概念,类,方法,属性,继承等。Python是面向对象的语言,“一切皆对象”。面向对象是很难回避的。Python的面向对象机制是相对比较松散的,不像 Java和C+那么严格。好处是容易学,容易维护,坏处是容易犯

23、错。3 .应用功能,包括IO ,数据容器如表和词典,内置函数,模块,格式化字符串等。这些在其它语言中也 经常出现,有比较强的实用性。4 .高级语法,上下文管理器,列表推导,函数式编程,装饰器,特殊方法等。这些语法并不是必须的, 你可以用前面比较基础的语法实现。学这些高级语法的主要原因是:它们太方便了。比如列表推导一 行可以做到的事情,用循环结构要好几行才行。学习Python主体最好的参考书是 Learning Python ,它非常全面,满满的都是干货。虽然很厚,读起来并不难读。另一个是参考官网的教程Python.orgPython 号称“ Battery Included ,也就是说,功能都

24、已经包含在了语言中。这一自信,主要来自 Python功能全面的标准库。标准库提供了许多功能模块,每个模块是某一方面功能的接口,比如文件管理,操作系统互动,字符处理,网络接口,编码加密等等。The Python Standard Library 中,你可以看到标准库模块的列表。这里也是标准库最好的学习资料。如果想找书,我只看到过两本关于标准库的:Python Essential ReferenceThe Python Standard Library by Example说实话,这两本都不算很好的标准库教材,而标准库的参考书也确实很难写。因为标准库只是调用功能的接口,最终实现的是Python 和

25、系统的互动。这需要很强的系统知识,比如文件系统知识,进程管理, http 原理,socket编程,数据库原理如果这些知识都已经准备充分,那么标准库学起来完全没有难度。然而,这些背景知识的学习并非一朝一夕的事情。更深入的 Python 学习也是如此,需要大量的背景知识,而不是Python 自身。如果你对 Python 的编译和运行机制感兴趣,你可以往Python 底层这一深度挖。如果你对应用感兴趣,你可以多学习几个自己用的上的第三方包。学到这个时候,就是要自己探索的广阔空间了。基本上,学过主体内容之后, Python 还是要靠做项目来练习。有不少小练习题类型的资料,比如 PythonCookbo

26、ok 。但更好的方式是自己去想一些应用场景,用 Python 来解决。 Python 功能全面,所以不要担心自己想的问题 Python 解决不了 (基本上 Python 解决不了的问题,别的语言也没戏) 。比如我学习多线程的动力,就因为要并行的下载大量的文件。基本上一个项目下来,会用到 Python 好几块的内容,知识会特别巩固。最后,和其它任何知识的学习一样,笔记和总结很重要。在看参考书和看网页时,可以做一些笔记。等到学了一段时间后, 可以把笔记整理成更有条理的参考卡片 (reference card) , 或者写博客。 这也是我写“ Python快速教程 ”的主要原因。另外这个教程内容的顺

27、序,也是我认为的比较合理的学习顺序,仅供参考。从快毕业的时候在图书馆里借来第一本有关python 的书算那,接触python 的时间也不过半年有余。时间真的很短,很难有什么经验之谈,自己至今也仍有许多需要学习的地方。不过对于怎么入门这一块,倒是颇有感触。在这里记录下来,也许能对后人有所帮助吧我是怎么开始了解python快毕业的时候,在中南的图书馆里瞎逛,偶然之间看到这么一本书,可爱的python 。第一眼看上去,只是觉得书名还挺新颖的,反正也是闲着,抽出来看看吧。“人生苦短,我用python”,这是我在封面上看到的第一句话,这感叹句实在太吸引眼球,以至于这么长时间后,我早忘了书中讲的什么内容。

28、留在脑海中的就只有封面上的这句话和作者的前言。当时看完前言部分,我就感慨良多。一本好的编程入门书,不应该是一上来就告诉你怎么写 Hello World ,给你介绍变量、函数、控制流blablabla. ,而是作者站在一个朋友的角度来和你谈心,告诉你他自己学习这门编程语言的经历,他自己所体会到的这门编程语言的魅力在哪里,有哪些优点和不足之处,怎样能够更快更好地熟悉这门语言。这感觉就和当初学 C+ 时候读的第一本书 Thinkng in C+ 一 样。作者提到,由于python 这门语言的特殊性,对它的学习并不必拘泥于传统的教科书式的学习方式,而是重点在“使用”中学习,其基本思想就是用最短的时间掌

29、握python 最基础最核心的语法,然后在使用中碰到具体的问题时候,再去主动学习相关知识。这个观念对我的影响很深,可以说,回顾自己的历 程,基本就是按照这个原则来的,而且收获确实很多。 下面就结合我自己的学习经历,谈谈刚入门时候的基本原则。1. 你只需要掌握最基础的刚开始学习 python 的时候,可能会查看许多书,这些书为了能够涵盖得尽量全面,往往会涉及语言方方面面的细节。但是, 并不是每一个知识点都是你所需要的 。一开始你只需要掌握最基础的那部分知识。你可能会问,“我哪知道哪些是最基础的东西呢?” 我觉得,一个很简单的判断方法就是, 拿起书都第一遍的时候,如果你能硬着头皮看下去并且能够理解

30、里面所讲的内容,那很好,这就是最 基础的。如果看了第一遍后云里雾里,鬼才知道哪天会用得上这些东西。 OK ,专门找个小笔记本, 记下这部分内容方便以后查阅,然后,跳过这部分。我在第一次看decorator 装饰器这个部分的时候实在看不下去,也不知道可能会有啥用,果断跳过,最近上高性能计算的课,学习下cuda 的python 接口时,里面都是装饰器修饰的函数,才又好好学习来一下,结合来自己的实际问题,这样 理解起来也就更深入。2. 脚踏实地,出来混,迟早是要还的 记住,前面你跳过的那些问题,迟早是会冒出来的。你自己得清醒地意识到,这种”刻舟求剑“式的 做法,是存在一些弊端的,虽然大多数时候,这些

31、弊端不过是自己动手来实现一些别人已经实现来的 东西,多花点时间精力罢了,但还有的时候,你可能会付出沉重的代价。类似的教训实在太多,比如 看书的时候觉得 itertools 这个包没有太大用就跳过了,后来有一天要实现个排列组合的算法时花了 很长时间来实现,结果偶然一天看到这货居然内置在 iterrools 里了;还有迭代器和生成器那部分, 一开始以为自己可能用不到,后来要对一堆很大的文本做分析时候才发现内存不够了 所以说,出来混,迟早是要还的,那些跳过了东西,迟早某一天要出来坑你一把。那肿么办咧,”跳还是不跳 “,这是个问题,个人觉得,刚入门的时候,还是能跳就跳吧。等自己对这门语言产生兴趣了,再

32、来 深入了解其语言的细节,也不算太晚。3. 多读书,都好书关于 python 的书虽不如 C+ , Java 之类的那么多,但好书却不少了,这半年看了有十多本书了 吧,整体感觉质量都挺不错。以下按照由浅入深的顺序来推荐给大家。o 相信我,你看的第一份文档,应该是The Python Tutorial 。什么?英语的看不懂!我去,你都还没开始看!o 看完上面的教程后,你可能会有种意犹未尽的感觉,难道,只需要这么点知识我就算入门了 吗?如果你看完毫无压力,我只能说真的,这样就算入门。不过除此之外还有另外一些讲解 python 基础书,也值得一看。你应该把大多数时间花在上面这份tutorial 上,

33、下面 (1) 中基础点的书应该是当作补充。看这几本书的时候,牢记上面的两条原则!1. 基础点的: A Byte of Python ,?learn python the hard way2. 稍稍进阶点的: dive into python 3,3. 需要当工具书一样看的: The Python Standard Library by Example4. 骨灰级的: Python Cookbook, 3rd Edition(我是不会告诉你上面的这些书大多都有中文版的:)4. 好用才是王道看完上面这些书,你应该对python 的基本语法特性,内部的标准库有了很深的了解。但是,我最想说的是,并不一

34、定要等的你把这些书都读完了才开始做些事,(事实上,读完那份tutorial 你就可以动手做很多事了)。你应该很清楚的知道自己要用 python 来做什么!想当初大一学 c 语言时候,学了也不知道为什么而学,所以啊,最后学完了那些语法知识后全都丢到一边,我那时候哪还知道c 可以用来干那么多事。就我自己而言,学习 python 的目的是为了在一定程度上代替matlab 作为科学计算工具,利用其丰富的包来实现许多功能,另外,用 python 写的代码可读性很高,不管是自己写还是读别人的代码,都是一种享受。我想,你也一定有自己使用 python 目的,比如想用 python 爬网络上的资源,比如要用 python 建个网站,又或者是要和服务器上的后台打交道.你总可以找到自己要学习的那个部分,记住,把重点花在这里!。然后,等你对python 有一些感性认识了,某一天自然会想起来要了解下python 的底层是怎么实现的,为什么这样做比那样做更好等等问题。编程语言说到底也只是工具罢了,工具固然是越好用越好,但更重要的是你要知道拿这些工具去解决什么样问题,以及怎样去解决!

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!