先说结论,自学python可以学会,我就是自学的。目前从事数据分析相关工作,接触python七余年。分享一些自学python的方法和注意点:
先说说那些年,追Python走过的弯路。
弯路一:
盲目的去学。
很多人在对于Python这个行业什么都不了解的情况下就盲目学习,比如:不知道未来发展趋势,不知道学习Python应该注意哪些初始问题,不知道具体的学习规划学习路线等等,一味的买书看书,看视频,到了中期阶段萌生放弃的想法,和主要是因为觉得自己越学越迷茫,也知道自己这样学找不到工作,这是初学者最大的误区。
弯路二:
没人指点。
在之前,学习一门新的语言不是一件容易的事情,我当时从来没有想过找一个这个行业比较厉害的人去请教下,现在我终于认识到了一点什么叫"方法不对,努力白费”所有的Python大神都有自己的学习方法,而学Python的学习也基本是一致,而对于一个什么都不懂的初学者根本不会知道怎么学,这也是造成失败的最直接原因。所以学Python一定要有人指点。
弯路三:
盲目看书。
对于新手来说,学习一个技能肯定是买书看书,但是后来我才实践的证明,对于一个啥都不懂的初学者来说看书基本可以成为无用的,因为这样的结果就势必会造成大多数人的情况:能看懂,但是永远不会写,这就是我最初出现的问题,非常烦人,所以建议初学者少看书,多动手,必须弄清楚Python的效率学习方法。
弯路四:
到处搜集视频。
好像大家都有一个毛病,就是到处搜集资源,云盘里有很多东西,但是基本是从来都不看,所以说视频在精不在于多,我当时自学Python的时候也搜集了各种视频,这里看看,那里看看,学的一点都不系统,而且学了之后也找不到工作,其实很多视频内容是类似的,讲的稍微有一些区别,建议大家挑一套好的视频资源学习,不要换来换去
弯路五:
代码规范。
因为最初是自己一个人,没人告诉,最初编写代码的时候不知道写代码的基本规范,所有的代码全部是顶格写,自己看的时候都费劲,后来有人告诉我写代码应该注意规范,我才明白。
学习Python确定切记三点:
1.少看书,多动手,手别懒
2.初学的问题,不要觉得自己很NB,该找人问就找人问
3. 学Python的人很多,同时放弃的占据80%
学习路线:
一部分:
开发环境搭建:环境搭建 编辑器 基本调试双版本兼容python基础:基本知识 面向对象编辑 面相对象设计思想python高级专题二部分:
linux基础:获取与安装python web工具:序列化 网络资源获取python部署工具:pip virtualenv fabric关系型数据库:基本理论 DB_API与sqlite3 MysqlPython web框架基础原理三部分:
python web开发:
web.py 基础Django基础Flask基础Tornado基础四部分:
项目实战
上述学习6个月时间左右,如果一天高效率用6个小时学习,学完之后至少可以找到8000+以上的工作,前提是有人指导,因为有经验的人给你指导了,你的目标才会更清晰,学习起来包袱没有那么重。
关于学历的问题:
很多人在学习的时候会担心自己的学历找不到工作,说下我对于这个事情的理解,现在这个社会好像在说学历越来越重要,我个人并不是这样认为的,如果一个人因为学历而不去学习技术,一直做又脏又累的活,那他可能就是这样的命运。人不会因为学历而不学习技术,至少学历无法改变,但是你总可以改变其他的东西。
是否应该去培训?我个人的建议不应该去培训,根据现在行情来看,模子一样的培训出来找不到工作的人很多,建议在线上学,这样可以降低很多成本,找一线工程师进行指导,这样学习到的都是最新的技术,还可以边工作边学。
关于在校的学生如何学Python:我见过很多在校学生大学四年都是混过来的,在目前来看,我们可以把他看成是正常的现象,到了大四的时候,很多人就开始恐慌找工作的事情,那个时候想学业没有学习的心,一直在纠结之中,这就是毕业学生的迷茫。所以现在大二大三的学生一定要吸取前面人的教训,不要等着大学混了四年,然后去还债。不知道要用多少的时间才能还回四年欠下的债。
1、关于学习。Python开发的技术,主要靠自学应该,可能有些大学开的课有相关方面的课程,但新技术还是要自己去学习。另外,知识学的好,不如东西做的好,要多练习多多练习多总结经验,做出来东西摆出来让别人看,且看着是那个样,看着舒服,才是王道,而你懂的多,但就是动手能力不行,让你做个东西,做半天做不出来,那别人会怎么想,可想而知。
2、关于代码编写:建议初学者脱离可视化编辑器,练习手写代码能力,这样看似麻烦,笨拙,但坚持下去,真正到你进行设计时就会体会到其中甜头。手写代码,对于你对代码的理解是很有帮助的,同时也会便于编写更具有语义的代码。
3、关于学习方法:自己不理解的实在想不明白,请高手帮你解决,当然尽量提些有技术含量的问题,基础知识不懂了就去翻翻书。经常逛论坛或者B站,向高手学习经验,推荐棒棒团,大家可以去看看,里面高手很多。
学习Python的三类人:
第一类人:要对Python有热情。对Python有热情的这些人,不管是自学进入Python这个行业,还是以后在Python这条路上的发展都是非常的快。
第二类人:就算没有第一类人那么对Python有热情,那么我们也要为生活考虑不是吗?做一个有目标的人也是不错的,为了更好的生活质量,为何不下功夫好好学学Python呢?
第三类人:听别人说Python的薪资比较高,对Python没有任何热情,且没有自制力,我觉得可以尽早放弃了,不是说不能入行,我身边有这样的同事,做了3年Python技术还停滞不前,经常向我这个不足1年的Python问题,可真是实打实的基础啊!
进阶阶段:入门Python高级专题可以学习的不是特别深入,当初我入门的状态熟悉了基础的环境搭建,模块,以及补了一些前端方面的知识,然后后面就开始正式的接触Python框架:Django,Tornado.以及更多的项目思想,网盘,博客,页面等}现在回过头来看,无论是学Python,还是学编程,其实最好的办法,就是类似于从前学一门手艺。
你可以自学,但是要有一个老司机当你师父,你就会进步非常快。书上和教程上的知识点并不难,难的是具体问题的处理,这时候,老司机有经验,他能指导你,让你少走弯路。
文源:小白师哥
这个是伪命题,为啥14岁中学生要学编程?为啥学编程就学Python或者Java?
14岁中学生要学什么?我觉得要从教育规律与14岁的年龄自身出发,切记拔苗助长的。
其实最后的成功人士,也不是都学了Python或者Java的,就是IT界的大佬,独角兽的CEO们,哪个还写Python,Java?Python,Java最多就是IT界中编程语言的二个代表而已。
那14岁中学生该学啥?14岁中学生大概是初三高一的年龄。
我觉得做好初中到高中的转换,先说大概的方法,再说学科。
1、养成良好的学习习惯,不要在学习的同时干其他事或想其他事。一心不能二用的道理谁都明白,可还是有许多同学在边学习边听音乐。给自己定一些时间限制。连续长时间的学习很容易使自己产生厌烦情绪,这时可以把功课分成若干个部分,把每一部分限定时间,例如一小时内完成这份练习、八点以前做完那份测试等等,这样不仅有助于提高效率,还不会产生疲劳感。
2、不要整个晚上都复习同一门功课。除了十分重要的内容以外,课堂上不必记很详细的笔记。如果课堂上忙于记笔记,听课的效率一定不高,况且也不能保证课后一定会去看笔记。课堂上所做的主要工作应当是把老师的讲课消化吸收,适当做一些简要的笔记即可。
语文,始终是高中的关键课程,要多读多写,可以培养自己的演讲表达能力。这个很关键。
数学,或许对有些朋友来说有点难,但是它毕竟是高考的必修课程。如果你以后不是理工科方向的话,以高中会考水平足够了,如果是理工科的话,建议要好好学习数学,但不要钻牛角尖,因为大多数人,即使是理工科,也不会上数学系的,所以不要难,偏入手,浪费大量的时间。
英语:其实很重要,高中生,需要培养喜欢英语的兴趣,多读,多听,多看,多说,多写。英语可能是以后10-20年求职的关键之一。英语不好,很亏的。
物理与化学: 重要性比数学低一点。建议看职业发展,定侧重点,如果是以后走社会科学文科的路线,建议对物理化学以培养科学素养的角度学习,如果是理工科,那物理化学肯定有学好的。
历史,地理,政治: 文科生要重要,我觉得这些对文科生非常重要的。不可忽视。
写了这么多,好像还有很多要谈,总之,不要被知乎,百度知道等忽悠,要多看悟空问答,获得真正的知识,这样才能指导你的正确的进步。欢迎讨论。
本文从以下几个方面给大家分享几本高价值书单,并不一定全面,欢迎读者补充,希望能对你有帮助。
1 关于编码与重构
1.1 代码整洁之道
英文名《Clean code》,该书出自 Robert C Martin 之手,又被称为 Bob 大叔,是一位美国著名的软件工程师和作家,他已经写了有关敏捷软件开发的书籍。书中提到众多有名的编程原则:比如 SOLID 原则、 Law of Demeter(LoD,又被称为最少知识原则)。推荐理由:每个程序员都必须拥有本书并阅读它。这是一本非常著名的书,它将完全改变您的编程风格,书中介绍的规则均来自作者多年的实践经验,涵盖从命名、数据结构、面向对象的设计原理到重构的多个编程方面,虽为一“家”之言,然诚有可资借鉴的价值。或许,真正整洁的代码真能让同行读起来像诗一样。任何傻瓜都可以编写计算机可以理解的代码。优秀的程序员编写人类可以理解的代码。— 马丁·福勒如果只能读一本书,我就推荐这本。最后,基于本书,众多开发者还推出了各种语言的整洁之道:• Javascript 整洁之道• PHP 整洁之道• ABAP 整洁之道• Java 整洁之道• .NET 整洁之道还有各大科技公司的代码风格指南:• Google 风格指南• Uber Go 语言风格指南Bob 大叔的《架构整洁之道》也值得推荐,这本书是在架构领域的登峰之作,围绕“架构整洁”这一重要导向,系统地剖析其缘起、内涵及应用场景,涵盖软件研发完整过程及所有核心架构模式。还有《程序员的职业素养》,作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来人引路,助其职业生涯迈上更高台阶。1.2 重构(第2版)
英文名: 《Refactoring: Improving the Design of Existing Code,2nd Edition》,作者 Joshua Kerievsky。本书是理论和实践最佳组合的罕见书籍之一。重构是一个使您的工作代码更加美丽的过程,这本书可以利用已经尝试和测试的软件开发世界的模式来为您提供帮助。推荐理由:重构一词经常在各种大会上被提及,那就是这本书带来的影响。重构也就是重写软件的过程,而无需更改其功能,以提高其可读性,可检验性或可维护性。重构是使工作代码美观的过程,重构有助于改进工作代码的设计。这也是优秀程序员的必备技巧之一,通常优秀的程序员也擅长重构。本书将教你重构代码的艺术和科学。无论您是 Java 程序员、C++ 开发人员还是 Python 开发人员,每个程序员都可以从本书中受益。与《重构》经常被提及的书就是大名鼎鼎的《代码大全》,书中解释的也是久经考验的技术和策略,能有效帮助程序员和软件开发人员。笔者也曾在大学的时候把这本书图书馆借出来,发现这本书太厚,啃不动,到期就立马归还了。1.3 代码之美
英文名:《Beautiful Code: Leading Programmers Explain How They Think》,作者:Grey Wilson。推荐理由:大牛前辈的博客合集,同时也是提高编码技能的好书之一,因为它为您提供了一个机会,让您了解专业程序员如何处理问题、编写的代码以及他们如何解决问题,并且仍然能够保持他们的代码美观。这本书是一系列案例研究的集合,揭示了 Emacs 到 Facebook 等大型网站架构秘密,讲述了那些专家程序员,包括布莱恩·克尼原,乔恩·本特利(Jon Bentley)(编程珠玑的作者),蒂姆·布雷(Tim Bray),卡尔·福格尔(Karl Fogel),迈克尔·菲瑟斯(Michael Feathers)(有效地使用旧版代码的作者),以及许多更多伟大的作者和程序员。关于二分查找,在书中数次被不同作者提及,了解不同作者的观点。无论您使用哪种编码语言,例如 Java,C#,Python 或 Ruby,都会在本书中找到有趣的东西。代码之美调查了一项努力的人类发明和创造力的范围:计算机系统的开发。每章中的美观来自发现独特的解决方案,这是作者的力量超越界限,识别他人所忽略的需求,并找到令人惊讶的解决方案,以解决令人困扰的问题。2 关于职业成长
2.1 程序员修炼之道(第2版)
英文名《Pragmatic programmer》,作者是 Andrew Hunt & David Thomas。中文版的译者是大名鼎鼎的云风,副标题是:通向务实的最高境界。推荐理由:本书是时隔 20 年的新版,覆盖哲学、方法、工具、设计、解耦、并发、重构、需求、团队等务实话题的最佳实践及重大陷阱,以及易于改造、复用的架构技术。刚出来的时候博文出版社举办了一个推广活动,在云风和皓子叔联袂推荐下,毫不犹豫的入手了本书。程序员往往最难得就是务实主义,总想追求新技术,炒新概念。工作后才逐渐明白,编程的本质,均不依赖于特定语言、框架和方法,技术改变世界在于能够有效解决用户的真实需求。本书本质上是程序员的自助指南。它探索了良好的软件开发实践,并为您提供了出色的建议、提示和技巧,以更有效地编程。正是对经典和现代轶事、引人入胜的类比和发人深省的例子的创造性使用,使每个部分的学习都变得有趣而有趣。如果说大学期间读的都是类似于 C 语言圣经和 Head First 系统书籍的话,工作后的人才会真正懂得为什么这本书籍不厚,读起来拍案叫好,这大概就是大道至简。作者另一著作:《程序员修炼之道: 从小工到专家》也是值得推荐的2.2 卓有成效的程序员
英文名:《The Productive Programmer》,作者:Neal Ford。推荐理由:本书就是讲述如何在开发软件的过程中变得更加高效。同时,《卓有成效的程序员》的讲述将会跨语言和操作系统:很多技巧的讲述都会伴随多种程序语言的例子,并且会跨越三种主要的操作系统,Windows(多个版本),Mac OS X 以及 *-nix (Unix 或者 Linux)。贯穿全文的思想大概就是尽量让机器做机器该做的事情,让程序和程序打交道,发挥程序员在这方面的先天优势。学会善用工具,命令行、学会写脚本,学会宏。提供效率,不去做重复单调的工作。最终的目的:成为一个“慵懒”的程序员。2.3 软技能:代码之外的生存指南
英文名:《Soft Skills: The software developer's life manual》,作者:John Z. Sonmez推荐理由:研究生期间读过最受益的一本非技术书。程序员都知道编码很重要,这是我们吃饭的硬技能。可是实际工作上才发现不止写代码,代码之外的软技能也很重要:比如面临着与客户沟通、与产品打交道的沟通问题;比如应该关注自身发展,书中也介绍了怎么做职业突围;还有更多章节介绍了作者如何学习、如何理财、健身、自我营销等等。分享书中有趣让我印象深刻的点是作者去面试,面试官浏览过他的博客文章,两人因此相谈甚欢。 最后也想给阅读的朋友声明一下:这本书涉猎了很多方面,但是并不是没一点都是一套可以照抄的完美答案,毕竟作者也是从当时的环境和自己经历出发介绍这些内容,每个读者应该都有自己的选择,综合而言,这本书挺适合各个阶段的人阅读的,尤其大学生和初入职场的朋友。作者也出了《软技能2:软件开发者职业生涯指南》,如果说软技能关注于生活,那软技能 2 则更加关注于了软件开发职业。3 关于黑客与开源
3.1 Unix 编程艺术
书籍英文名:《The Art of UNIX Programming》,作者:《Eric S. Raymond》从 1982 年开始就是 UNIX 开发者。推荐理由:本书涉及 Unix 系统领域中的设计和开发哲学、思想文化体系、原则与经验,由公认的 Unix 编程大师、开源运动领袖人物之一 Eric S.Raymond 倾力多年写作而成。程序会过时,编程语言会更新,代码会跟随业务不断改动,但编程思想的生命力会长盛不衰,好的编程艺术也是具有穿透力的,尽管书中的案例已经偏老,但贯穿始终的 KISS 原则、思想文化体系、设计与开发哲学一定能够给你带来醍醐灌顶的感觉。Keep it simple stupid,简称 KISS 原则。在做软件设计的工作中,很多时候都不要想得过于复杂,也不要过度设计和过早优化,用最简单且行之有效的方案也就避免了复杂方案带来的各种额外成本。这样既有利与后续的维护,也有利于进一步的扩展。另外,本书还可以与“左耳朵耗子”ef="">皓子叔推荐 过的《UNIX传奇:历史与回忆》结合着一起看,了解 UNIX 的诞生记与发展史,贝尔实验室的幕后故事!本书不但书写 Unix 的历史,而且记录作者的回忆,一探 Unix 的起源,试图解释什么是 Unix,Unix 是如何产生的,以及 Unix 为何如此重要。3.2 大教堂与集市
英文名:《The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary》, 《Unix编程艺术》作者 Eric S. Raymond 的另一封神之作,副标题是《对 Linux 和开源革命的沉思》。推荐理由:大家都知道程序员热衷于开源文化,都在说不要重复造轮子。开源时代下的软件开发可能只需要三个键盘按钮:CTRL + C + V,开个玩笑。说到开源文化,那么本书《大教堂与集市》是开源运动的《圣经》,颠覆了传统的软件开发思路,影响了整个软件开发领域。作者把软件开发思路类比于古代的大教堂文化和集市文化,讲述了集市如何变成大教堂,书中系统解释了开源软件是如何生产的,开源开发的优势在哪,开源软件的传承是如何做到的。3.3 黑客与画家
英文名:《Hackers and Painters: Big Ideas from the Computer Age》,作者:Paul Graham,本书的译者是大名鼎鼎的阮一峰大佬。推荐理由:说到黑客文化,就不得不提到硅谷创业之父Paul Graham 的这本书,本书主要介绍黑客 Hacker,即优秀程序员的爱好和动机,讨论黑客成长、黑客对世界的贡献以及编程语言和黑客工作方法等所有对计算机时代感兴趣的人的一些话题。本书是一本为黑客正名的技术散文集,看完书后第一次将我从电影中的黑客形象颠覆过来,才了解到并不是入侵系统、制作病毒、各种解密的人就是黑客,Hacker 是专家级程序员,是一群与画家有着极大的相似性,他们都是在创造,而不是完成某个任务,“黑客”象征着第一流的能力,以及求解问题过程中产生的精神愉悦或享受。他们崇尚分享、开放、民主、计算机的自由使用和进步。而那些恶意入侵计算机系统的人更应该被称为 cracker(骇客)。4 关于算法与设计模式
4.1 算法设计手册
英文名:The Algorithm Design Manual (2nd Ed.),作者:Steven S Skiena推荐理由:关于算法的重要性大家都知道,大家肯定都知道另外两本著名的《算法导论》和《算法4》:《算法导论》侧重与算法的数学推导,适合研究,而《算法4》侧重于算法的代码实现,适合入门。而这次推荐的《算法设计手册(第2版)》却没有那么有名气,但也不失为设计实用且高效算法的最全面指导书。该书揭密了算法的设计与分析,以简单易懂的写作风格,介绍了各种算法技术,着重强调了算法分析。目前市场上算法书层出不穷,但是经典的算法却一直在那里,不曾走远。4.2 Head First 设计模式
英文名:《Head first design patterns》,作者:Elisabeth Freeman / / Eric Freeman / Bert Bates / Kathy Sierra / Elisabeth Robson推荐理由:这本书完整地涵盖了 GoF 版本全部23个设计模式,毫不费力地解释了世界各地熟练的软件开发人员和程序员用来构建优雅、功能齐全、灵活和可重用的软件的几种软件设计模式。。图文并茂,配有大量说明性和启发性的示例,它们将使学习同时变得高效和有趣。与其他文本繁重的编程书籍不同,这本书具有引人深思、视觉丰富的格式。Head First 系统书籍充满了幽默感,选题和编辑都很用心,值得一读。相信读完的读者逐步迈向对软件设计模式的深入了解。再来读 GoF 不失为一个不错的选择。4.3 设计模式:可复用面向对象软件的基础
英文名:《 Design Patterns: Elements of Reusable Object-Oriented Software》,又被简称为计算机领域的 GoF ,因为本书的作者是四个人:Erich Gamma / Richard Helm / Ralph Johnson / John Vlissides。推荐理由:本书是任何使用面向对象代码的开发人员的必备入门读物。而且作者 Erich Gamma 是 jUnit、Eclipse、IBM Jazz 项目、Visual Studio、Azure 和 Office 365 的幕后推手。如果您没有很好地掌握 UML,您可能会发现很难吸收编程书中汇编的一些信息和示例。然而,这不会阻止您欣赏设计模式书中叙述的美妙之处,它既简单又内容丰富。《设计模式》一书详尽地解释了 23 种软件设计模式,可帮助软件开发人员和设计人员制作更好、更优雅、更灵活的软件。这本书讨论了针对常见软件设计问题的大量简洁明了的解决方案。如果说 GoF 太难读下去,那么就推荐程杰的《大话设计模式》,这本书通过对话的形式带领大家入门设计模式,人人都可以是好学的小菜和经验丰富的大鸟。4.4 编程珠玑(第2版•修订版)
英文名:《More Programming Pearls,Second Edition》,作者:John Bentley推荐理由:这是一本带你真正领略计算机科学之美,融深邃思想、实战技术与趣味轶事于一炉的奇书。与大多数其他编程书籍不同,这本书侧重于基本问题和一般问题。它讨论了可以提高性能或减少内存需求的各种算法和技术。作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程。就如书名一样,大浪淘沙,计算机科学中的智慧正如自然界里珍珠出自细沙对牡蛎的磨砺,留下一个个编程“珠肌”。题外话:
上面的书都是本人曾经阅读过,或者说在图书馆中有借阅翻过的书。也是计算机领域评分很高、有口皆碑的书籍。但计算机行业的经典书籍太多,本人能推荐的也只是其中一部分,想要推荐的内容也不想针对某个特定编程语言和领域,所以像《C++编程思想》和《On Java8》这类书籍没有进行推荐,推荐理由也不一定完全正确,欢迎大家批评指正。另外,看完上述的书并不能说自己就能在工作中就能运用到,看完就能成为一个顶尖的程序员。何况看书也不能完全接收前辈们的这些大智慧,但如果在某个瞬间(看书过程或者实践过程中)对自己有一种醍醐灌顶的感觉,就已足够。参考链接:
• UNIX传奇(上篇)• 假期好读书• Top 5 Books to Improve Coding and Programming Skills• http://www.osnews.com/images/comics/wtfm.jpg本文分享自华为云社区《【云驻共创】对于编程思想和能力有重大提升的书有哪些》,作者:宇宙之一粟 。
社会进步的很快,如果不学习很容易被淘汰,在当代,男人面临着买房、买车,结婚生子,养活一家老小,因此压力山大,而我们也只有拼了命的挣钱。
如果你自身掌握着技能,那么在以后的职业道路上,也不会很茫然,下面的这5个网站可以从中学习到知识技能,男人一定要趁早看。
一、能力天空
个人的能力有多大,在于自身掌握多少技能,这个网站中有各行各业的学习教程,都是当前比较热门的,有直播课程、课程大全,很多都是免费的。
二、迅捷CAD教程
这是一个专注于学习AutoCAD的网站,无论你是新手还是老手,都适合在这里学习,课程整体分为两大类:零基础到入门、入门到精通,因此在这里好好学,把整套课程学会你就是大神。
三、英语自学网
很多人因为讨厌英语,当初没能好好学,后来才知道英语是多么重要,这里可以从零开始学习,从音标单词开始认,当然,也有英语四六级、考研英语等等,各种听力、口语练习。
四、优达学城
喜欢科技的小伙伴有福了,这里的课程内容来自硅谷,主要课程有人工智能、机械学习、数据分析等,此外还很人性化的供你选择课程难度,有初中、高中、高级,我们根据自身情况去定位。
五、实验楼
小伙伴们看到这个名称,第一时间联想到做实验,然而这是一个专注于IT编程的网站,在网站首页就可以全看到全部课程,选择一个你感兴趣的去学习,精选的项目课,可以教会我们很多。
想学习更多的知识技能,那么这5个网站你一定要看,三百六十行,行行出状元,总有你感兴趣的。
需要链接私信我:“509”获取哦!