769
Python
Python 学习完基础语法知识后,如何进一步提高?
python程序员学习路线图 python+ 数据结构和算法 + linux + 软件工程 + web开发 + git版本控制+ 沟通技巧等等。
Python(英语发音:/ˈpaɪθən/), 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。
Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议。
Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。
Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。
怎么样才能学好python, 怎么样才能学好django,怎么样才能学好编程?虽然我还没有学好python和django,但是我想我找到了学习的方法。动手!动手!动手!对,就是三个动手,但是每个动手的含义是不一样的。先来说说我的经历:从大二到研究生毕业,我用了5年的matlab从12年工作到现在,我用了4年的c#今年年初公司开始推行全栈,开始学习c++两三个月前,出于个人兴趣开始学习python和django先别急着骂我好高骛远,同时学习好几门语言我也是被逼的!python和django才是我的真爱!你们肯定以为我想说兴趣是最好的老师,NO!听我接着吹!想当初~学matlab是因为接了学校的一个自然科学基金,你懂的,通过了就有1000块钱拿。听到消息后,3个饿货就组团去报名了,过程是这样的:喜欢各种兼职各种发小广告的学渣室友找到了我,只是因为我大一在电脑城搞了一个暑假的兼职(对,就是修电脑),然后因为项目需要3到5个人就去找了一个天天打DOTA的东北哥们儿,只是因为这哥们只要名不要利,钱到手后他那块拿出来喝酒!妈蛋,现在回过头来想想,当初的奇葩组合竟然迎合了现如今最流行的商业模式:一个能搞项目的,带着一两个能干活的,还有十几个靠关系进来啥也不干就等分钱的!好吧,扯远了,最后项目也是如期完成了。怎么完成的?是我一个函数一个函数的百度回来的:matlab怎么加载图像,I = imread('image.png');matlab怎么得到图像大小,[M,N] = size(I);matlab怎么做循环:for i = 1 :m ... end。再到后来如法炮制,给另外两个同学写了毕业设计的程序,再再后来就当了枪手专业代写matlab图像处理程序,读研没拿家里一分钱还买了手机和笔记本。。。c#学的也很奇葩。毕业之后阴差阳错的去做了桌面程序开发,当初都没听说过c#,还以为是叫c井呢。。。上来就扔到项目里去了:给你一个星期时间看书,一个星期之后开始修bug。。。好吧,看书,看的什么书?《c#高级编程》!对,没错,就是1557页的那本!哥们头两天还背着它公司宿舍来回跑,第三天就把它给拆了,把第一部分弄出来重新粘了个书皮。。。当然一个星期就连第一部分也没看完,反正就上去修bug了,还好流程控制语句跟matlab也差不多,还好哥们逻辑能力也锻炼出来了,扯着百度咱就开始风风火火的干了,任务也都能按时甚至提前完成。。。三四年的工作经验之后,我知道了设计模式,知道了面向对象编程,知道了要提高代码的可读性,知道了代码简洁之道。那么问题也来了,同志们!从今年年初开始学习c++到现在,我看了好几本书,而且时间很充裕,我是很认真的在看。但是截止到今天为止,我还是不敢去接公司的c++项目!两个月前,当我准备学习python和Django的时候,我习惯性的打开了知乎。想看看大牛们会推荐哪些入门书籍和教程。 分别搜索python和Django两个关键字,看到了很多我感兴趣的话题:Python 的练手项目有哪些值得推荐?python django学的很迷茫怎么办?Python 应该怎么去练习和使用?Python 学习完基础语法知识后,如何进一步提高?Django 学习顺序及入门要求?想用Django+ Bootstrap写一个网站, 有哪些比较系统完整的书或者视频可以参考?学完python后,该如何开始django学习?想学习Python Django,请推荐从入门到精通各个阶段的好书?说实话我看完了这些问题的所有答案,答主们都很认真,让我对于这个自己不熟悉的领域有了简单的了解。也是精心挑选吧,对于python,我选择了廖雪峰的官方网站这个教程;对于django,我选择了 Tango With Django。以这两个为主,当然还有其他的,head first啊,官方文档啊。。当我利用下班后的空闲时间读完两个教程后,也确实不再是一头雾水了,这让我有了一点小小的成就感。感觉至少自己比身边的人多懂一些。但是短暂的喜悦过后我同样遇到了这样的问题:python django学的很迷茫怎么办?本人学生,零编程基础,在学习python的过程中越学越迷茫,感觉像无头苍蝇一样,来知乎取经,下面进入正题吧: 我是先看了中谷的python教学视频,然后跟着慕课网上的python教程把题目做了一遍,然后就开始看django,看了“django web开发指南”,又看“django官方文档”,在看django这两本书的时候简直是一头雾水,我有种感觉是python基础没学好的原因所以理解不了django,实在不知道在说什么,就照着书上的例子练,同时我也在网上找了好多blog应用的实例,想试着自己写一个blog网站,来增加一下对django的认识,才发现前端也需要学习,然后就在w3c上学基本的前端,发现前端要学一大堆,然后学着学着就迷茫了,最近一直很迷茫不知道自己该干什么,下一步该干什么,实在不想像无头苍蝇一样。这哥们简直就是在说我嘛!但是怎么办?我始终相信这句话:“临渊羡鱼,不如退而结网”。所以我不会因为迷茫而停止不前。回想起自己刚开始用matlab做图像处理的时候,什么都不会就敢接活帮别人做毕设,现如今做了几年编程工作之后再学习新语言反倒是有点扭捏了!我在想什么呢?为啥就没了当年的锐气了呢?我在想面向对象,我在想代码规范,我在想怎么写高质量的代码。。TMD,傻了吗,低质量的代码还写不出来呢,谈什么高质量啊!!!所以,如果一个完全不懂编程的人和一个有若干年编程经验的人同时学python,我反倒会看好那个完全不懂编程的人!哎呀,我这也算是顿悟了吗?哈哈。那就动手干起来吧!这个时候当然还是要先问问自己这样的一个问题:学会了Python你要用它干什么?学会了Django你要用它干什么?我很清楚自己一直想搭一个博客,写博客的好处我就不多说了。如果你还没想到用python干什么,我建议先来搭个博客。这里当然说的是自己建站写博客,而不是在csdn什么的。为什么要自己建站?找工作的时候这可是看的见摸的着的项目经验啊,亲们。有了目标就不要让手闲着,动手!动手!动手! 照着教程操作不是真正的动手,动手找方向,动手找解决办法,动手做,这才是真正的动手!动手!动手我果断的跑到Github搜索了“django blog”,然后就自然而然的找到了zinnia。为什么用现有的框架?因为我给自己制定了这样的学习曲线:用框架搭一个博客,博客上线,理解博客框架内部机制用python写一个blog框架读zinnia源码当然这不是一个短期内能实现的目标,也许需要一年、两年甚至更多时间。但是一旦你开始动手了,你就会找到更细致的目标。比如,目前我的第一个目标完成了60%左右,我的博客已经上线了,在动手的过程中,我找到了更具体的方向,为了达成这个目标,下面的东西是我要学的:zinnia搭建博客,部署到阿里云ECS服务器--------------------已完成掌握Git基本命令,用于版本控制和代码上传服务器----------已完成入门python和django,基本概念和语法需要有------------已完成掌握基本的linux命令,用于部署 ----------------------------已完成markdown,用于写博客 ------------------------------------已完成理解web请求,MVC,MVT等blog框架内部机制 ------------未完成其它网站建设技巧---------------------------------------------未完成拥有一个微信公众号 ------------------------------------------未完成待发掘 -------------------------------------------------------未完成我是一边动手做,一边截图做记录以便写blog,这样速度至少慢了一半,但是很扎实。每一步我都可以回过头去看,为了让读者更好的理解我会重新组织语言、组织逻辑、看看是不是有几个步骤可以合并。。。学而不思则罔 思而不学则殆!写博客让我做到了边学边思考。我还申请了知乎专栏,因为是知乎开阔了我的视野,让我从“不知己不知”过渡到“知己不知”。个人认为帮助你过渡到“知己不知”的人是最值得感谢的,想一想你要学习新的知识打开了搜索引擎却想不到用什么关键字,或者你压根不知道自己该学什么,无知是多么可怕啊!这就是老话说的,“师傅领进门”。希望我的一大通废话领你进门了,让你找到了学习的方法~我会把所有的学习过程记录在这里,欢迎大家一起来讨论。如果你开始动手了却找不到下一步的方向,也欢迎来参考我的记录。最后几句话与大家共勉:照着教程操作不是真正的动手,动手找方向,动手找解决办法,动手做,这才是真正的动手,动手,动手想一想自己是真正的有十年工作经验,还是一年的经验重复了九年!活到老,学到老。学到的不止是知识,进步让人身心愉悦,整个人都是正能量
最后:
自己多问下为什么学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
最后更新:2017-10-08 15:36:03
上一篇:
Python进程、线程、回调与协程 总结笔记 适合新手明确基本概念
下一篇:
Python2和Python3哪个更适合初学者学习来爬虫呢?
Python2.7+Selenium3自动化测试pdf版
2017年编程语言之争:Python崛起,JavaScript称霸
如何为使用 Python 语言而辩论
Python 使用情况调查:2还是3?
uzi安心退役吧,uzi二代——新人y4秀翻imp+pyl
松果会“编程学院”开课啦,设计超级英雄,跟着贝尔去冒险,Scratch Python最强编程体验课等你来参加!
Python的未来
python全栈自动化测试班3月7号开课,现在报名有优惠哦
Python老司机收藏夹的17个国外免费学习网站
休闲编程#小小科学家的新玩法:Scratch+Python最强编程体验课等你来参加!