如何自学Python干货合集.docx

上传人:b****5 文档编号:6992082 上传时间:2023-01-15 格式:DOCX 页数:10 大小:26.93KB
下载 相关 举报
如何自学Python干货合集.docx_第1页
第1页 / 共10页
如何自学Python干货合集.docx_第2页
第2页 / 共10页
如何自学Python干货合集.docx_第3页
第3页 / 共10页
如何自学Python干货合集.docx_第4页
第4页 / 共10页
如何自学Python干货合集.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

如何自学Python干货合集.docx

《如何自学Python干货合集.docx》由会员分享,可在线阅读,更多相关《如何自学Python干货合集.docx(10页珍藏版)》请在冰豆网上搜索。

如何自学Python干货合集.docx

如何自学Python干货合集

如何自学Python(干货合集)

其实python非常适合初学者入门,上手很容易。

我就是完全通过网上资源学了python的。

最大的是3点经验:

1.找一本浅显易懂,例程比较好的教程,从头到尾看下去。

不要看很多本,专注于一本。

把里面的例程都手打一遍,搞懂为什么。

2.去找一个实际项目练手。

我当时是因为要做一个网站,不得已要学python。

这种条件下的效果比你平时学一门新语言要好很多。

所以最好是要有真实的项目做。

可以找几个同学一起做个网站之类。

3.最好能找到一个已经会python的人。

问他一点学习规划的建议,然后在遇到卡壳的地方找他指点。

这样会事半功倍

阶段一:

前辈领进门。

第一眼是一个前辈给我看了看Python的代码,因为自己最早学习的是Java语言,第一眼看到Python的时候,前辈说,“Python是面向对象的”,然后就打印了几句代码。

可我怎么也看不出到底哪里是“面向对象”的。

前辈说“在Python里,一切皆对象”,我才有点领悟的说道:

“原来把什么看成对象,

就是面向对象”,哈哈

阶段二:

开始看的是《DiveintoPython》《Leaningpython沢《PythonDoc》。

因为有很多语言学习经历,很快就完成了初步语法和使用学习。

太复杂的特性还是在使用中逐步掌握的。

阶段三:

开始使用Python做自己的一些日常工作。

比如Python搜索文件,Python批量处理等,使用最多的还是re模块和socket相关模块。

写了大量的例子,让自己对Python更加喜爱,也更加熟悉。

此时翻阅最多的是《PythonDoc》的指南。

不管是语言参考、库参考、Demo参考,都

有大量可使用的内容,内容质量很高堪比JDK。

阶段四:

生产上马。

开始使用Django,Flask,Tornado开发一些web应用,写一些日常使用的工具包等。

逐步提升设计能力,和整体代码的管理能力。

阶段五:

更合理的分配好C,Java,Python三门语言各自擅长的部分。

把合适的语言用到合适的地方。

尽管一门语言有时候可以搞定所有的,但用擅长的语言解决合适的问题才是效率最高的这也是Python的大道至简”的理念带给我的帮助和认识。

PS:

其中过程中主要的一些方法:

1、看书。

学习的基础。

2、自己本地练习。

编程还是要实践出真知。

3、资料查询。

google,stackoverflow等多关注。

4、交流。

各种论坛上的pythongroup,论坛。

最早去的CU,

JavaEye,不过现在貌似去的少了。

googlegroup必须订阅。

学习+实践+总结,掌握语言的法宝。

学Python,看的第一篇文章来自42区,推荐大家看看

网站开发.漫游指南。

多关注下牛人,多实践。

更新2013-12-17

前段时间整理了一篇博客,搜集了学习Python入门、数据

库和Web开发的一些资料,原文见

ml,这里摘抄一下。

入门和基础

Python有Python2.x和Python3.x之分,争论很多,见Python2orPython3。

初学者不用考虑这个问题,可以从Python2.x入门,之后再讨论会多一些理性。

•洪强宁:

Python于Web2.0网站的应用:

豆瓣网洪强宁在QCon北京2010中的技术分享,若不能访问,请自备梯子;另外,豆瓣的阿北很值得关注。

*AByteofPython:

即简明Python教程,边看边练习就对Python有基本的了解,可以轻松存活。

•Google'sPythonLessons:

Google出品的Python教程,值得信赖。

•PythonDocumentation:

Python在线文档,若嫌枯燥,可以直接看PythonStandardLib。

•42区:

python入门指弓丨:

江湖人称张教主的Python入门指引,除开《Python核心编程》。

严格来说,这是张教主的一份Python资料索引。

•CS61A:

SICPwithPython:

作为计算机相关人士,

SICP都不了解,实在很惭愧,所以来还债了。

这应该是起源于MIT的SICP教程,一个用Python,一个用Scheme。

•看到一个有趣的python的招聘测试:

同学发的一个

贴,总结了一下应聘中遇到的问题,并给出了相应的资

料来学习。

如果想检测下自己的Python水平,请自觉移

步北京视讯天下的开发测试。

•MOOC们:

在线公开课很多,见课程图谱;仅在

Codecademy上学了一点;现在希望能够每天跟进一些感兴趣的课程,多多学习。

•书:

去年6月份一同事离职,我买了两本黑客与画

家,一本送给他(博客一起去看海),另一本给部门老大;他回送了一本Python源代码剖析,看书名就知道是讲底层原理的,有机会啃啃。

•源代码:

直接到Github上去找吧。

Python与数据库

在项目开发中,数据库应用必不可少。

这里汇总下目前

接触过的数据库和使用教程。

SQL,计算机出身的人应该都学过,若有疑问可以参考

WikipediaSQL,并使用SQLite做下练习。

•PEP249:

DBAPI:

数据库访问接口规范,当时还做

了一份笔记。

•SQLite:

教程见SQLitePythonTutorial;若要深入了解,推荐TheDefinitiveGuidetoSQLite;看此书时,做了一些好句子、段落的摘要,见SentencesinSQLite3

•MySQL:

教程见PythonMySQLDatabaseAccess

•OracleDatabase:

有可能这是最庞大的数据库,所

以需要专职的DBA。

官方教程TheMasteringOracle+PythonSeries,快速入门教程cx_OracleQuickStart。

•SQLAIchemy:

Python的ORM标准和框架,解决面向对象编程和关系数据库模式不匹配的问题。

数据库理论除了SQL,还有另一派NoSQL。

关于常见NoSQL产品的比较见MainNoSQLDatabaseComparison;若果需要一些NoSQL的理论知识和基本概念,见TheNoSQLEcosystem、BigData与NoSQL。

目前仅用过MongoDB和Redis。

•MongoDB:

如果熟悉SQL,MongDB的学习成本会很低;相关资料见PythonLanguageCenterinMongoDB;用过的两个驱动:

1)PyMongo,提供了类

似MongoShell的接口;2)MongoEngine:

APythonObject-Document-MapperforworkingwithMongoDB,即MongoDB的'ORM'框架,此时变成了'ODM',MongoEngineonGithub。

•Redis:

Redis需要一些学习成本,入门推荐TheLittleRedisBook;用过的Python客户端驱动Redis-py;更多客户端见RedisClients。

•NoSQL建模:

SQL发展了几十年,有很成熟的建模技术,那么NoSQL呢,见陈皓:

NoSQL数据建模技术,原文NoSQLDataModelingTechniques。

•更多资料:

NoSQL英文站点见NoSQLDatabase;NoSQL中文论坛见NoSQLFan:

关注NoSQI相关的新闻和技术。

NoSQLFan中,MongoDB和Redis资料很多,已经形成了资料专题,包括介绍、内部实现、应用与优化、新闻等,总能发现你想要的东西:

1)NoSQLFan:

Redis资料汇总专题;2)NoSQLFan:

MongoDB资料汇总专题。

Python与Web开发

Python的Web框架众多,见WebFrameworksfor

Python,总有一款适合你或你的项目,实在不行,请动手打造自己的框架;为什么会有这么多框架呢,见Whysomany

Pythonwenframeworks?

•Web.py:

已故AaronSwartz的框架。

一句话介绍"web.pyisawebframeworkforPythonthatisassimpleasitispowerful.web.pyisinthepublicdomain;youcanuseitforwhateverpurposewithabsolutelynorestrictions."。

接触的第一个Web框架,后来模仿MovableType,写了一个简单的博客,见BlogonGithub,

在线demoPastimeParadise;碰到的坑点是模板中嵌套

Python代码一直有缩进问题。

•Flask:

—句话介绍"FlaskisalightweightwebapplicationframeworkwritteninPythonandbasedontheWerkzeugWSGItoolkitandJinja2templateengine.ItisBSDlicensed.Flaskiscalledamicroframeworkbecauseitkeepsthecoresimplebutextensible"。

因为工作变动,练习过一段时间的Flask,以便熟悉开发的工

具链;如果没有Rails,我想这才是自己首选的Web开

发框架:

simplebutextensibleandforfun。

实战教程TheFlaskMega-Tutorial。

•Tornado:

来自FriendFeed的异步框架,FriendFeed被Facebook收购后开放了源代码,见Tornadoon

Github。

一句话介绍"TornadoisaPythonwebframeworkandasynchronousnetworkinglibrary,originallydevelopedatFriendFeed"。

Tornado主要特点是non-blocking,如果你想开发real-time的Web应用,Tornado是一个不错的选择。

•Django:

一句话介绍"Djangoisahigh-levelPythonWebframeworkthatencouragesrapiddevelopmentandclean,pragmaticdesign.",接触不多,作为全栈式

框架,听说它的组件都是MadeinDjango。

更多资料见

Django资料。

IDE

•Vim+PythonMode。

目前就用这个方案,很方便,直接引用同学的效果图。

关于Vim资料和讨论,请移步Vim资料大全;关于Vim更多插件和演示,请移步k-vimonGithub;关于Git,Github,请移步本站FreeBlogwithGithubPages。

社区

•啄木鸟社区

•42区:

网站开发.漫游指南

*PythononV2EX

・Python4cn

•豆瓣Python小组

•哲思社区

周刊

*PythonWeekly:

每周更新,包括Python相关的文章、教程、演讲、书籍、项目、工作等。

•Pycoder'sWeekly:

与PythonWeekly类似,两者可以互为补充,了解过去一周动态。

•码农周刊:

developerWorks出品的周刊,来自国人的分享。

可以先看为什么要做《码农周刊》?

;接着《码

农周刊》用到的一些技术;再接着周刊回顾。

这里不仅

仅是Python。

我最先看的是《简明Python教程》来熟悉一下语法,自己敲了一下代码,发现python很容易上手,渐渐喜欢上它。

接着买了一本《python基础教程》,跟着书中的例子深入学习。

这本书讲得很详细,浅显易懂。

当开始熟悉python的时候,尝试自己写一些脚本或软件来干一些有趣的事情。

后来图像处理课程作业我也用python

来完成。

与此同时,我坚持写博客来记录一下自己的学习心得。

现在我开始学习用python的web应用。

这才是python擅长的领域。

它有很多好用的框架例如django,tornado等,可以

轻松地做一个网站,用python做网站后端也是一个越来越

流行的趋势。

学习python,最重要的是要写出pythonic的代码,这不是一朝一夕的事情。

我喜欢python,就是因为它的简洁和强大。

不要重复造轮子,学会优雅地使用python。

Pythonic到底是什么玩意儿?

附我看过的觉得不错资料

PyCoder'Weekly中文翻译

学好Python必读的几篇文章也应该订阅一些python大牛的博客有哪些Python大牛的blog推荐?

和邮件列表

我是自学的Python。

从对Python一无所知,到在博客上写Python相关的系列文章(Python快速教程),前后有将近三年的时间。

期间有不少门槛,但也充满乐趣。

乐趣是自学的最大动力。

Python是一个容易编写,又功能强大的动态语言。

使用Python,可以在短短几行内实现相当强大的功能。

通过自己写一些小程序,迅速的看到效果,发现问题,这是学习Python最便利的地方。

在学习Python之前,可以了解一下Python的特点和设计理念(Python简史)。

在设计之初,Python就试图在复杂、强大的C和方便、功能有限的bash之间,找到一个平衡点。

Python的语法比较简单,用起来很方便,因此有些人把它当作脚本语言使用。

但Python要比普通的脚本语言功能强大

很多。

通过良好的可拓展性,Python的功能相当全面,应用面很广:

web服务器,网络爬虫,科学运算,机器学习,游戏开发……当然,天下没有免费的午餐,也没有完美的语

言,Python为了达到上述两点,有意的牺牲了Python的运

行速度。

如果你是在编写高业务量、运算量的程序,可能

Python并不是最好的选择。

Python的主体内容大致可以分为以下几个部分:

1.面向过程。

包括基本的表达式,if语句,循环,函数等。

如果你有任何一个语言的基础,特别是C语言的基础,这一部分就是分分钟了解下Python规定的事。

如果你没有语言基础,建议从PythonProgramming为参考书。

这本书是计算机导论性质的教材,不需要编程基础。

2.面向对象,包括面向对象的基本概念,类,方法,属性,继承等。

Python是面向对象的语言,“一切皆对象”。

面向对象是很难回避的。

Python的面向对象机制是相对比较松散的,不像Java和C++那么严格。

好处是容易学,容易维护,坏处是容易犯错。

3.应用功能,包括10,数据容器如表和词典,内置函数,模块,格式化字符串等。

这些在其它语言中也经常出现,有比较强的实用性。

4.高级语法,上下文管理器,列表推导,函数式编

程,装饰器,特殊方法等。

这些语法并不是必须的,你

可以用前面比较基础的语法实现。

学这些高级语法的主

要原因是:

它们太方便了。

比如列表推导一行可以做到的事情,用循环结构要好几行才行。

学习Python主体最好的参考书是LearningPython,它

非常全面,满满的都是干货。

虽然很厚,读起来并不难读。

另一个是参考官网的教程Python.org

Python号称BatteryIncluded",也就是说,功能都已经包含在了语言中。

这一自信,主要来自Python功能全面的标准库。

标准库提供了许多功能模块,每个模块是某一方面功能的接口,比如文件管理,操作系统互动,字符处理,网络接口,编码加密等等。

ThePythonStandardLibrary中,你可以看到标准库模块的

列表。

这里也是标准库最好的学习资料。

如果想找书,我只看到过两本关于标准库的:

PythonEssentialReference

ThePythonStandardLibrarybyExample

说实话,这两本都不算很好的标准库教材,而标准库的参考书也确实很难写。

因为标准库只是调用功能的接口,最终实现的是Python和系统的互动。

这需要很强的系统知识,比如文件系统知识,进程管理,http原理,socket编程,数据库原理……如果这些知识都已经准备充分,那么标准库学起来完全没有难度。

然而,这些背景知识的学习并非一朝一夕的事情。

更深入的Python学习也是如此,需要大量的背景知识,而不是Python自身。

如果你对Python的编译和运行机制感兴趣,你可以往Python底层这一深度挖。

如果你对应用感兴趣,你可以多学习几个自己用的上的第三方包。

学到这个时候,就是要自己探索的广阔空间了。

基本上,学过主体内容之后,Python还是要靠做项目来练习。

有不少小练习题类型的资料,比如PythonCookbook。

但更好的方式是自己去想一些应用场景,用Python来解决。

Python功能全面,所以不要担心自己想的问题Python解决不了(基本上Python解决不了的问题,别的语言也没戏)。

比如我学习多线程的动力,就因为要并行的下载大量的文件。

基本上一个项目下来,会用到Python好几块的内容,知识会特别巩固。

最后,和其它任何知识的学习一样,笔记和总结很重要。

在看参考书和看网页时,可以做一些笔记。

等到学了一段时间后,可以把笔记整理成更有条理的参考卡片(referencecard),或者写博客。

这也是我写“Python快速教程”的主要原因。

另外这个教程内容的顺序,也是我认为的比较合理的学习顺序,仅供参考。

从快毕业的时候在图书馆里借来第一本有关python的书算起,接触python的时间也不过半年有余。

时间真的很短,很难有什么经验之谈,自己至今也仍有许多需要学习的地方。

不过对于怎么入门这一块,倒是颇有感触。

在这里记录下来,也许能对后人有所帮助吧~

我是怎么开始了解python快毕业的时候,在中南的图书馆里瞎逛,偶然之间看到这么一本书,《可爱的python》。

第一眼看上去,只是觉得书名还挺新颖的,反正也是闲着,抽出来看看吧。

“人生苦短,我用python”,这是我在封面上看到的第一句话,这感叹句实在太吸引眼球,以至于这么长时间后,我早忘了书中讲的什么内容。

留在脑海中的就只有封面上的这句话和作者的前言。

当时看完前言部分,我就感慨良多。

一本好的编程入门书,不应该是一上来就告诉你怎么写HelloWorld,给你介绍变量、函数、控制流blablabla...,而是作者站在一个朋友的角度来和你谈心,告诉你他自己学习这门编程语言的经历,他自己所体会到的这门编程语言的魅力在哪里,有哪些优点和不足之处,怎样能够更快更好地熟悉这门语言。

这感觉就和当初学C++时候读的第一本书《ThinknginC++》一样。

作者提到,由于python这门语言的特殊性,对它的学习并不必拘泥于传统的教科书式的学习方式,而是重点在“使用”中学习,其基本思想就是用最短的时间掌握python最基础最核心的语法,然后在使用中碰到具体的问题时候,再去主动学习相关知识。

这个观念对我的影响很深,可以说,回顾自己的历程,基本就是按照这个原则来的,而且收获确实很多。

下面就结合我自己的学习经历,谈谈刚入门时候的基本原则。

1.你只需要掌握最基础的

刚开始学习python的时候,可能会查看许多书,这些书为了能够涵盖得尽量全面,往往会涉及语言方方面面的细节。

但是,并不是每一个知识点都是你所需要的。

一开始你只需要掌握最基础的那部分知识。

你可能会问,“我哪知道哪些是最基础的东西呢?

”我觉得,一个很简单的判断方法就是,拿起书都第一遍的时候,如果你能硬著头皮看下去并且能够理解里面所讲的内容,那很好,这就是最基础的。

如果看了第一遍后云里雾里,鬼才知道哪天会用得上这些东西。

OK,专门找个小笔记本,记下这部分内容方便以后查阅,然后,跳过这部分。

我在第一次看decorator装饰器这个部分的时候实在看不下去,也不知道可能会有啥用,果断跳过,最近上高性能计算的课,学习下cuda的python接口时,里面都是装饰器修饰的函数,才又好好学习来一下,结合来自己的实际问题,这样理解起来也就更深入。

2.脚踏实地,出来混,迟早是要还的记住,前面你跳过的那些问题,迟早是会冒出来的。

你自己得清醒地意识到,这种”刻舟求剑“式的做法,是存在一些弊端的,虽然大多数时候,这些弊端不过是自己动手来实现一些别人已经实现来的东西,多花点时间精力罢了,但还有的时候,你可能会付出沉重的代价。

类似的教训实在太多,比如看书的时候觉得itertools这个包没有太大用就跳过了,后来有一天要实现个排列组合的算法时花了很长时间来实现,结果偶然一天看到这货居然内置在iterrools里了;还有迭代器和生成器那部分,

开始以为自己可能用不到,后来要对一堆很大的文本

做分析时候才发现内存不够了所以说,出来混,迟早

是要还的,那些跳过了东西,迟早某一天要出来坑你一把。

那肿么办咧,”跳还是不跳“,这是个问题,个人觉得,刚入门的时候,还是能跳就跳吧。

等自己对这门语言产生兴趣了,再来深入了解其语言的细节,也不算太晚。

3.多读书,都好书

关于python的书虽不如C++,Java之类的那么多,但好书却不少了,这半年看了有十多本书了吧,整体感觉质量都挺不错。

以下按照由浅入深的顺序来推荐给大家。

o相信我,你看的第一份文档,应该是ThePythonTutorial。

什么?

英语的看不懂!

我去,你都还没开始看!

o看完上面的教程后,你可能会有种意犹未尽的感觉,难道,只需要这么点知识我就算入门了吗?

如果你看完毫无压力,我只能说真的,这样就算入门。

不过除此之外还有另外一些讲解python基础书,也值得一看。

你应该把大多数时间花在上面这份tutorial上,下面

(1)中基础点的书应该是当作补充。

看这几本书的时候,牢记上面的两条原则!

1.基础点的:

AByteofPython,learnpython

thehardway

2.稍稍进阶点的:

dive

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1