如何自学Python?

leiline 发布于 2014/08/06 10:08
阅读 1K+
收藏 1
最近在自学python ,对着书敲代码,也不知道什么时候是个头,很迷茫…………
加载中
0
_
_PANDAX
深入理解python看一遍,然后每天写点代码,没啥写的就把以前其他语言写的翻译一遍,不出一月就上手了
0
Left-Shift
Left-Shift
有没有其他语言基础?没有的话就老老实实敲吧,多做练习
0
把妹达人老张
leiline
leiline
谢谢
0
雪梨苹果
雪梨苹果
.。。别想了,没捷径的,就是先看书巧代码,有空再看视频,之后再做下项目来加深记忆。
leiline
leiline
恩呢,我觉得也是
0
Tek_Eternal
Tek_Eternal

http://www.liaoxuefeng.com/

我是看这个老师的教程入坑的。。。不过新手是不是直接学3更好?

雪梨苹果
雪梨苹果
回复 @Tek_Eternal : 没去看过,一直都是pypi找包的。
雪梨苹果
雪梨苹果
回复 @Tek_Eternal : 哪个?mysql-python是不支持3的噢。。其他小众的不知道。
Tek_Eternal
Tek_Eternal
@雪梨苹果 mysql的库有啊- -
雪梨苹果
雪梨苹果
回复 @Friankin : 学2才对,3很多库就不支持,说个影响大的,就像链接到mysql的库,3是没有的。
下一页
0
红牛王
红牛王

我是自学的Python。从对Python一无所知,到在博客上写Python相关的系列文章(Python快速教程),前后有将近三年的时间。期间有不少门槛,但也充满乐趣。乐趣是自学的最大动力。Python是一个容易编写,又功能强大的动态语言。使用Python,可以在短短几行内实现相当强大的功能。通过自己写一些小程序,迅速的看到效果,发现问题,这是学习Python最便利的地方。在学习Python之前,可以了解一下Python的特点和设计理念(Python简史)。在设计之初,Python就试图在复杂、强大的C和方便、功能有限的bash之间,找到一个平衡点。Python的语法比较简单,用起来很方便,因此有些人把它当作脚本语言使用。但Python要比普通的脚本语言功能强大很多。通过良好的可拓展性,Python的功能相当全面,应用面很广:web服务器,网络爬虫,科学运算,机器学习,游戏开发…… 当然,天下没有免费的午餐,也没有完美的语言,Python为了达到上述两点,有意的牺牲了Python的运行速度。如果你是在编写高业务量、运算量的程序,可能Python并不是最好的选择。-----Python的主体内容大致可以分为以下几个部分:面向过程。包括基本的表达式,if语句,循环,函数等。如果你有任何一个语言的基础,特别是C语言的基础,这一部分就是分分钟了解下Python规定的事。如果你没有语言基础,建议从Python Programming为参考书。这本书是计算机导论性质的教材,不需要编程基础。面向对象,包括面向对象的基本概念,类,方法,属性,继承等。Python是面向对象的语言,“一切皆对象”。面向对象是很难回避的。Python的面向对象机制是相对比较松散的,不像Java和C++那么严格。好处是容易学,容易维护,坏处是容易犯错。应用功能,包括IO,数据容器如表和词典,内置函数,模块,格式化字符串等。这些在其它语言中也经常出现,有比较强的实用性。高级语法,上下文管理器,列表推导,函数式编程,装饰器,特殊方法等。这些语法并不是必须的,你可以用前面比较基础的语法实现。学这些高级语法的主要原因是:它们太方便了。比如列表推导一行可以做到的事情,用循环结构要好几行才行。学习Python主体最好的参考书是Learning Python,它非常全面,满满的都是干货。虽然很厚,读起来并不难读。另一个是参考官网的教程Python.org-----Python号称“Battery Included",也就是说,功能都已经包含在了语言中。这一自信,主要来自Python功能全面的标准库。标准库提供了许多功能模块,每个模块是某一方面功能的接口,比如文件管理,操作系统互动,字符处理,网络接口,编码加密等等。The Python Standard Library中,你可以看到标准库模块的列表。这里也是标准库最好的学习资料。如果想找书,我只看到过两本关于标准库的:Python Essential ReferenceThe Python Standard Library by Example说实话,这两本都不算很好的标准库教材,而标准库的参考书也确实很难写。因为标准库只是调用功能的接口,最终实现的是Python和系统的互动。这需要很强的系统知识,比如文件系统知识,进程管理,http原理,socket编程,数据库原理…… 如果这些知识都已经准备充分,那么标准库学起来完全没有难度。然而,这些背景知识的学习并非一朝一夕的事情。更深入的Python学习也是如此,需要大量的背景知识,而不是Python自身。如果你对Python的编译和运行机制感兴趣,你可以往Python底层这一深度挖。如果你对应用感兴趣,你可以多学习几个自己用的上的第三方包。学到这个时候,就是要自己探索的广阔空间了。-----基本上,学过主体内容之后,Python还是要靠做项目来练习。有不少小练习题类型的资料,比如Python Cookbook。但更好的方式是自己去想一些应用场景,用Python来解决。Python功能全面,所以不要担心自己想的问题Python解决不了 (基本上Python解决不了的问题,别的语言也没戏)。比如我学习多线程的动力,就因为要并行的下载大量的文件。基本上一个项目下来,会用到Python好几块的内容,知识会特别巩固。最后,和其它任何知识的学习一样,笔记和总结很重要。在看参考书和看网页时,可以做一些笔记。等到学了一段时间后,可以把笔记整理成更有条理的参考卡片(reference card),或者写博客。这也是我写“Python快速教程”的主要原因。

最后:

自己多问下为什么学python 
      如果一门语言没有改变你的编程思维,那么它不值得你去学习”。如果这么说,我们大学的时候,学习了c,c++,java,C#,算是值得学习么?很多时候是不值得,我觉得我们大学的课程就是用java,c#,c++把"C程序设计"又上了一遍.
     这是因为,学校的老师会C和java之类的,所以要跟着规矩开这门课,(这也就是为什么,许多学校还在教vb,),这也就是为什么,你所以为的一样就是大家都有For都有while,都有switch..都有Class...都有int 都有float,所谓的不一样就是用C有指针,java没有,这就是为什么教育是失败的,这也就是为什么,我目前认识的几个编程大牛
    python的优点:简单 我所说的简单,是相比于象C和C++这样的语言,你为了编程,要学习许多偏底层的东西.在比如,你在学习一个新的编程范式,或者想要马上做个例子看看,试验某个API,如果你是写java的,你不得不去写一个main,写一些构造,即使有IDE这样的东西,能够为你带来代码生成器,而我做得就是写一段“脚本”,或者打开python交互式解释器就行了。
   自己认识的python朋友出去工作,工资比较高,然后自己又刚刚好是会python所以选择学习python,这样的人比较危险但是也比较有激励,还有就是觉得python比其他开发语言好用。

学完python前景会咋样
  其实我个人是很看好python未来的就业前景的,因为我认识太多的工程师都已经在学python,很多都是月收入大几万的
     我个人也并非一直用python。前些年主要用c/c++以及java开发一些通信,移动系统,互联网通信。近3年开始才转向python。坦白的说,这可能与你相处的公司以及环境不大一样。随便举个例子,google的protocol buffer协议一出来就具有c++/python/java三种语言支持。google的广告系统早在03,04年左右就一并对python进行了webservice支持,大部分涉及基础核心系统的公司,都开始对python进行了扩展支持。甚至开源社区的postgresql数据库,除了自身的ansi SQL,pgsql,pg/TCL,PG/PERL之外对python进行了内嵌支持,唯独却没有呼声很高的java。在FREEBSD(MIT)/LINUX(GPL)平台上,对java可能排斥性比较大,但综合而言,目前python发展还没有java那种普及,主要是python大部分工作仍然是在较为深入地系统层和框架层做设计开发,例如django,SQLAlchemy,fail2ban,mail邮件系统,twisted等等。这部分对于那种习惯应用前辈们框架的编码人员而言,缺乏创造力的他们根本无法适用这种开发。尤其在python涉及一些系统层面需要有较强的c/c++能力,这部分人在国内要么就累得要死没时间,要么就啥都不会就会拷贝代码,而国内公司也鲜有主动去做这部分基础劳动的,大多都是等别人做好了在直接拿来用,所以造就了任何技术性的东西出来,国内都是先等等看,然后抄袭应用。
     大环境如此,但千万误认为先等等看吧。对于一个技术人员而言,缺乏对新技术的渴望与热情,这是一种非常危险的事情。我工作8年了,按照国内很多的人的说法早已不做代码了,但又一次在听一个老外的演讲,他说他50多岁仍然每天坚持写代码,了解最新的动态,所以他才能做到他们公司的首席科学家,因此它才能时刻指导项目团队前进并保证项目的质量。他坦言对于一个不写代码并且不了解最新的技术动态的技术人员或者技术团队的负责人而言,这种团队也就足够做作小项目,一旦压力和项目过大,就会有很多问题漏出来。
   对于新人而言,无论学习什么技术,都要以鼓励的姿态出现。太多用薪水和你个人所看到的现状去衡量一门技术,那绝对是欠缺眼光的。任何一门技术,一旦有人学习,他有可能逐渐成为这个领域的专家,即便再滥再没有人用的开发语言技术,他也有可能就是明日的奠基者或者大师。


自己如何确定目标
 在生活中学会不断挖掘自己的潜力。我们都是一个普通人,可能并不清楚自己到底在哪方面占有优势。所以,学着在生活中找到自己的优势,并根据优势选择一定的就业方向。
 不随波逐流。不要看周围的人做什么,自己就做什么,也许别人做的并不适合你。别人的优势很可能会成为你的劣势。所以,坚定自己的想法,让自己知道那些方面适合自己,自己可以胜任。
   不断尝试可能成为自己的优势。你不知道什么适合自己,所以才要大胆、勇敢地尝试。找到一种可以属于你的独特的优势。
 坚定信念。一旦你坚定了自己的信念,就不要被别人的意见或是讽刺或是嘲笑所干扰。别人不是你,不懂的你在想什么,不清楚你开始这件事的源头。你的事情,不了解你的人,没有资格轻易评说。 
 不茫然,不多想。别让太多的事干扰到你奋斗下去的信念。梦想不容许太多的杂念。那些杂念只会让你的心愈来愈脆弱,多为一个人考虑,到头来,伤害的还是自己。

选择自己学习方法
   每个人都有适合自己的方法,有的人去选择自学,有的人选择看视频学习,有的人选择报名培训班,那在这个时候,你就要自己考虑清楚,到底那样对的帮助是最大的,个人觉得是跟着培训班最好的,毕竟人家的实战项目多,我们学软件开发的都知道实战项目对于学好一门语言是 很重要的。

学习python有那些误区

具体里面的误区非常的多,那些就不需要我去写出来,我给你说的一般都是心态的问题,首先一个觉得自己会java和c++,然后我学习python就很牛,但是你要知道语言是有很多相同的地方,但是不是通用,一定要自己学习的仔细。还有一种就是觉得我不会英语,我要先去把英语学习好在来学python。因为自己想还坏主意然后学习,这样的都是容易找进误区的。

怎么样才能学好python
  学好python你需要一个良好的环境,一个优质的开发交流群,群里都是那种相互帮助的人才是可以的,我有建立一个python学习交流群,在群里我们相互帮助,相互关心,相互分享内容,这样出问题帮助你的人就比较多,群号是304加上050最後799,这样就可以找到大神聚合的群,如果你只愿意别人帮助你,不愿意分享或者帮助别人,那就请不要加了,你把你会的告诉别人这是一种分享。

感觉写的好,对你有帮助,就点个赞呗,别光只收藏哈.~( ̄▽ ̄)~

?

0
淡然2018
淡然2018

          我就是自学过来的。

         由于python在人工智能,机器学习,大数据,数据分析,网络爬虫,全方位的技能特点,是非常适合初学者入门和培养编程兴趣的一门语言。相比较其他不少主流编程语言,有更好的可读性,和满足感,因此上手相对容易。关于自学python,最大的3点经验: 1.找一本浅显易懂,例程比较好的教程,从头到尾看下去。不要看很多本,专注于一本。把里面的例程都手打一遍,搞懂为什么。我当时看的是《python编程从入门到实践》,不过这本书不是非常适合零基础初学者。 2.去找一个实际项目练手。我当时是因为要做一个网站后台,不得已要学python。这种条件下的效果比你平时学一门新语言要好很多。所以最好是要有真实的项目做。可以找几个同学一起做个网站之类。注意,真实项目不一定非要是商业项目,你写一个只是自己会用的博客网站也是真实项目,关键是要核心功能完整。3.最好能找会python的人。问他一点学习规划的建议(上知乎也是个途径),还有加几个python自学的qq群,群里问建议,一般都有人回答。

我们业内都喜欢嘲笑培训班出来的学生,原因有以下几点:

一:缺乏自学能力,很多学生是因为觉得没人督促的情况下,没办法自学,但在培训班老师的培训下,学会了老师教的一切,往往,行业的技术一变化,就学不会。

二:不懂得良好的编码习惯和调试调优技巧,这东西靠老师教很难习得,要自己在实践中不断的积累不断的做东西。

三:简历写的几乎一样,项目经验照抄,然后一问项目涉及的具体技术问题,一问不知。

四:培训班老师为了就业率,传授各种面试技巧,还有培训班发的内部面试题典,厚厚的小册子,为了通过面试,不惜一切手段。

 

自学编程首先要比培训班学习来得经济又实惠,需要的是充足的时间,相对于培训班动则1.8万的学费,自学编程可以说是0费用就能入门,自学编程要迈过哪些坎呢?首先是学习资料,我自学的时候看了很多资料,有以下十几本,

1: Python编程:从入门到实践

2:编程小白的第一本 Python 入门书

3:零基础学python

4:趣学Python编程

5:笨办法学python

6:深入 Python 3 中文版

7:父与子的编程之旅:与小卡特一起学Python

8:Python学习手册(第4版)

9:Python练习集100题

10:Python 编码规范

11:Python练习集100题

12:Python入门必备chm帮助手册和思维导图

13:Python入门经典以解决计算问题为导向的Python编程实践

14:用Python写网络爬虫

15:python入门经典-图灵图书

以上pdf资料关注公众号:环球评论,后台回复 ‘自学python入门pdf资料’ 就可获得pdf网盘地址。

 

但我重点选了两本入门一本是python编程从入门到实践,还有一本是:用python写网络爬虫,书上的代码自己敲一遍或者粘贴一遍,提高动手能力,我另外还找了一些视屏资料,看视屏都是2倍速看,我觉得爬虫是最能培养编程兴趣的课程,我至今在网上用到的数据或者其他的东西都是靠爬虫来爬取,很能锻炼动手能力,二是学习方法、学习路径,书很多,但是怎么选择适合自己的呢,当然是有途径的,我觉得以自己的基础来选入门的书籍会比较好,入门完成就可以选择进阶的书籍,我从入门到进阶看了以下的书籍:

1:Python爬虫开发与项目实战-范传辉

2:用Python做科学计算

3:精通Django中文版

4:刘汝佳 - 算法竞赛入门经典(第二版)

5:Python机器学习实践指南

6:9大规模分布式系统架构与设计实战.

7:自己动手做大数据系统.张魁

程序开发的难点就是数据结构和算法,为了学好这方面,我看了以下的书籍:

8:常用数据挖掘算法总结及Python实现

9:程序员实用算法

10:算法图解

11:算法引论:一种创造性方法

12:算法 第4版

13:啊哈!算法

14:程序员代码面试指南 IT名企算法与数据结构题目最优解

以上pdf资料关注公众号:环球评论,后台回复 ‘自学python进阶pdf资料’ 或者回复:'自学数据结构和算法'就可获得以上资料两个网盘地址。

一般来说入门和进阶的书都选看了之后,然后开始做一些小项目,个人推荐的项目是做博客,或者论坛,前端和后台都自己弄懂并做出来,本人自学python框架有以下书籍:

1:深入理解Flask

2:Python新手使用Django架站的16堂課

3:Python高效开发实战:Django、Tornado、Flask、Twisted.刘长龙

以上pdf资料关注公众号:环球评论,后台回复 ‘自学python框架pdf资料’ 就可获得网盘地址。个人不推荐使用'Flask Web开发:基于Python的Web应用开发实战'这本书,这本俗称狗书的资料不适合初学者。

做完2,3个完整的项目,弄清楚框架的原理,能够熟练的搭建前台,后台,就可以找工作啦,觉得比较难的就是算法,但是数据结构,比如,栈、队列、链表、堆、这些概念还是很容易弄懂的,然后就顺利的找工作啦。最后祝自学的同学,也能高水平的做程序开发!

leiline
leiline
谢谢这么久了还有回复的。这个问题是在本科的时候提出的,现在已经读完研进入公司实习准备工作了,现在从事大数据相关的工作了。希望这个博客可以给后来者一个参考的价值。
返回顶部
顶部