我毕业于克莱门森大学政治学专业。我曾考虑过是否选择学习计算机科学专业,还在大一那年报名参加了“编程概论”课程,不过很快就退出了。实在是太难了。
毕业后我一直住在硅谷,我发现我需要学习编程。一年后,我成为了eBay公司的一名中级软件工程师。我不想让大家觉得这是很轻松就能做到的。实际上,这是极具挑战的一件事。在这一年的不断尝试努力过程中,我得到了很多乐趣。
1.1 自学的优势虽然与拥有计算机科学学士、硕士甚至是博士学位的同事一起工作的压力很大,但别忘记了你还有“自学的优势”。你选择学习Python编程,不是出于老师布置的任务,而是因为你内心学习的渴望,这一点是你所拥有的最大优势。苹果公司的创始人斯蒂夫·沃兹尼亚克(Steve Wozniak)就是一位自学成才的程序员;还有因在美国宇航局的阿波罗登月计划中做出卓越贡献而获得总统自由勋章的玛格丽特·汉密尔顿(Margaret Hamilton);还有Tumblr 的创始人大卫·卡普(David Karp),Twitter的创始人杰克·多西(Jack Dorsey),Instagram 的创始人凯文·斯特罗姆(Kevin Systrom),他们都是自学成才的程序员。
1.2 为什么应该学编程不管你从事什么工作,编程都有助于你的职业发展。学习编程将给你自己赋能。我喜欢尝试新想法,时刻都有希望启动的新项目。学会编程后,我就可以坐下来自己实现,而不需要依赖他人。
编程也会提升你在其他方面的技能。因为你熟练掌握了问题解决能力,鲜有其他工作不会因此而受益。我最近要在Craiglist上租房,搜索并筛选房子是个非常费力的活儿。但是我写了一个程序来代替我搜索,最后将结果以邮件形式发送给我。学会编程,将把你从重复性工作中解放出来。
如果你想成为软件工程师,市场上对这类岗位的需求也日益增长,但是符合要求的候选者却总是供不应求。到2020年,预计将有一百万个编程岗位空缺。即使你的目标不是成为软件工程师,科学和金融等领域的岗位也开始倾向那些拥有编程经验的申请者。
1.3 没有编程经验怎么办?如果你之前没有任何编程经验,担心自己无法胜任编程工作,我想想告诉你的是:你完全有能力做到。人们对程序员有一些常见的误解,比如程序员都得擅长数学。这是错误的印象,不过编程确实是一件困难的工作。幸运的是,专栏涵盖的内容将让这一切变得比你想象得更加容易。
为了提高编程技巧,你应该每天练习编程。挡在你面前的唯一障碍就是无法坚持,所以我们要采取一些措施确保自己能够坚持不懈。准备一张检查清单,来确保每天都有做练习,而且也能够帮助你保持专注。
如果你还需要其他帮助,效率专家Tim Ferris建议采用如下技巧来保持驱动力。事先给家人或朋友一笔钱,如果你在规定的时间内完成了目标,就让他们把钱还给你,否则就将钱捐献给你讨厌的机构。
1.4学习前你需要了解《零基础学Python》不仅是教你如何使用某种特定的语言编程,还会介绍标准教材中所不包括的其他所有知识点。专栏内分享的是我在成为软件工程师过程中不得不自学的内容。专栏不适合那些想要随意了解下编程知识、将写代码作为爱好的人,而是专门写给那些希望以编程为职业的人。不管你的目标是成为一名软件工程师、企业家,还是在其他的岗位上使用编程技能,你都是专栏的目标读者。
学会一门编程语言还不够,你还需要学会其他技能,才能像计算机科学家一样地工作。我会教授大家我从编程新手到专业软件工程师过程中学到的一切。这个专栏,是为了向有志于编程岗位的人分享他们需要掌握的知识框架。
我经常从自学编程的朋友那听到这样的反馈:我现在该做什么?我还不是一名程序员,也不知道下一步该学什么?因此我设计了下面的专栏结构。
1.5 专栏的结构我的目标不是包罗你需要了解的每个主题的所有细节,而是提供一份指引——一个编程职业发展所需要的所有技术路线图。由此我将专栏分成五个部分。
第一部分:编程简介。让你尽快写出自己的第一个程序,最好在今天。
第二部分:面向对象编程简介。这部分将介绍不同的编程范式,着重阐述面向对象编程。你会开发一个游戏,体会编程的强大能力。读完这部分后你会沉迷于编程。
第三部分:编程工具简介。将介绍提升编程生产力的不同工具。这时,你已经沉迷于编程,并希望变得更好。你将会学习相关的操作系统、使用正则表达式提升效率、安装并管理他人的程序,以及使用版本控制与其他工程师协作的知识。
第四部分:计算机科学简介。将简要介绍计算机科学知识,主要涵盖两个主题——算法和数据结构。
第五部分:找到工作。最后一部分是关于最佳编程实践,如何找到软件工程师的工作,团队协作以及程序员的自我提升。我会分享如何通过技术面试与团队协作的建议,以及如何进一步提升自己的技能。
1.6 从终点出发我学会编程的方式,与计算机科学通常的教学方式正好相反。专栏的结构是根据我自己的方式组织的。一般来说,你会先花很多时间学习理论,理论知识学的太多以至于许多计算机科学的毕业生甚至不知道如何动手编程。杰夫·阿特伍德(Jeff Atwood),在其博客“为什么程序员不会编程”中写道:“和我一样,许多人都碰到了这样的情况,编程岗位的200位申请者中,有199个根本不会写代码。重申一遍:他们一点代码都不会写。”这种现象直接促使Atwood发明了FizzBuzz代码挑战,一种用来在面试中筛选申请者的编程测试。
《王者之旅》电影中的主角乔什(Josh Waitzkin),在《学习的艺术》一书中回忆了他如何反向学习国际象棋。他没有和其他人一样研究开局,而是从学习象棋残局(棋盘上只剩下少数几个棋子)开始。这样做让他对国际象棋有了更深的理解,并赢得了多次大赛冠军。与此类似,我认为先学习如何编程再学习理论的方法更高效,因为你会拥有了解背后原理的强烈驱动。这就是为什么专栏一直到第五部分才介绍计算机科学理论,而且内容也尽量精简。虽然理论很重要,但是在你拥有了编程经验之后,理论的价值才更大。
1.7 专栏的格式专栏的各个章节紧密相关。如果你读到了某些看不懂的概念,可能在前一章已经做了介绍。专栏内尽量避免重复解释,所以牢记这个特点。在给重点词汇下定义时,会使用斜体。每个章节的末尾都有一个词汇表,对该章内出现的斜体名词进行解释。
专栏代码段前的注释为GitHub的网址,读者可于网站直接复制代码。
1.8 专栏使用的技术为了让读者尽可能的积累编程经验,专栏会介绍多种技术。在某些情况下,必须在许多不同的技术中做出选择。在第20章“版本控制”中,我们将会学习Git的基础知识。Git是一个流行的版本控制系统,选择介绍Git是因为笔者认为它已经成为版本控制的业界标准。专栏中用Python来编写大部分的编程示例,因为它是一门很流行的初学者语言,而且即使从来没有使用过Python的人学习起来也比较简单。此外,目前几乎每个领域对Python开发者的需求都非常大。不过,专栏会尽量做到内容与技术无关——注重概念,而非技术本身。
1.9初学者需要准备的工具首先需要有一台计算机,以便跟着每个专栏内容进行示例练习。计算机有一个操作系统(operating system),即一个扮演人与计算机物理硬件之间的中间人的程序。可以在屏幕上看到的称为图形用户界面(Graphical User Interface,GUI),它是操作系统的一部分。
台式计算机和笔记本电脑目前有3种常用的操作系统:Windows、UNIX和Linux。
Windows是微软推出的操作系统。UNIX操作系统发明于20世纪70年代,目前最流行的UNIX操作系统是苹果的OS X。Linux则是目前世界上大部分服务器(server)都在使用的一款开源操作系统。服务器指的是执行托管网站等任务的计算机或计算机程序。开源(open-source)意味着软件不归某个公司或个人所有,而是由一群志愿者维护。Linux和UNIX都是类UNIX操作系统,意味着二者之间非常相似。
如果你喜欢欢迎关注我的专栏《零基础学Python3》,有问题欢迎给我留言,我会第一时间反馈给您。https://learning.snssdk.com/feoffline/toutiao_wallet_bundles/toutiao_learning_wap/online/article.html?item_id=6681141509619712520&app_name=news_article
网上学习python的好地方?随着python的兴起和火热,越来越多的开发者投入到python学习中来,没有基础,又不会编程的小白该如何学习,有哪些好的学习网站可以一用,这里简单介绍一下,感兴趣的朋友可以尝试一下:
视频类python教程B站说起B站,应该无人不知无人不晓,日常休闲娱乐,我们都会用到这个网站,其实除了娱乐性内容外,B站针对编程学习也提供了许多优质的视频,涉及常见的c语言、java、python、c++、php,前后端、数据库等都有广泛介绍,既有基础入门,也有高阶深入,不管你是零基础的入门者,还是有一定经验的开发者,都可以从中学习专业知识,提高专业技能,学习编程来说,在合适不过:
慕课网这是一个众所周知的编程学习网站,所有资料都是以视频的方式在线学习,内容基础全面、课程循序渐进,讲解透彻、易于理解,同时自带有练习小项目,如果你是零基础的小白,对python非常感兴趣,想全面了解一下相关模块和应用,可以使用一下这个网站,边学习边练习,效果再好不过,但内容、题材方面没有B站丰富:
文档类python教程菜鸟教程这是一个比较基础的编程学习网站,相信许多开发者都听说过,所有资料都是以文档的形式在线学习,内容非常基础,浅显易懂,即使没有任何编程经验的小白也可以轻松看懂,从软件的下载到安装,再到基本语法的讲解、深入,这个网站都有详细介绍,前后端、数据库、python、java等都有涉及,入门编程来说,是一个非常不错的选择:
廖雪峰官网说起廖雪峰教程,许多开发者都应该听说过,一个比较大众、适合于初学者的编程学习网站,内容基础全面,易于理解,都是以小白的角度来介绍和学习一门语言,从基本的语法变量,再到各个模块的讲解学习,这个教程都有详细介绍,如果你零基础、零经验入门python,可以使用一下这个网站,效果也非常不错:
目前,就分享这4个python学习网站吧,都是免费的,既有视频类,也有文档类,根据自己实际情况和喜好,选择合适的网站就行,当然,“师傅请进门,学艺在个人”,最重要的还是要多看多练,这样效果最好,提升也最快,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。
廖雪峰Python教程 https://www.liaoxuefeng.com/wiki/1016959663602400
明确方向
首先,我们需要清楚自学Python编程的目的是什么,也就是将要是使用Python用于哪个方向的开发工作。Python作为一门被广泛应用的编程语言,可以应用于数据挖掘分析、AI人工智能、前端应用开发、Linux运维、自动化、测试等多种方向,不同方向的Python学习曲线是不同的。
无论我们是希望通过学习Python寻求新的行业工作,还是希望在已有行业进行深耕,做更多事情,明确学习的目标是至关重要的。
明确方式我们在明确方向之后,然后再来看看学习Python的方式有哪些。
首先,对于 Python基础部分,比如数据结构、语法、函数等等,如下图。这些内容是可以通过一些网站、书籍进行自学的,难度很低。如果有其他语言的编程基础,学起来将更加的容易。即使我们是想通过培训的方式学习,也建议提前通过自学掌握Python基础部分内容。
可以通过如下途径学习Python基础内容:
文档教程
廖雪峰的官方网站
https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000
Python 基础教程 | 菜鸟教程
http://www.runoob.com/python/python-tutorial.html
w3cschool
https://www.w3cschool.cn/position/kqc20f.htmlPython 100例
http://www.runoob.com/python/python-100-examples.html视频教程
慕课网
https://www.imooc.com/网易云
https://study.163.com/社区
Python中文社区维基
https://python-chinese.github.io/PythonTab——python中文开发者社区
https://www.pythontab.com/
我们在掌握 Python基础之后,然后根据自己的 Python应用方向,再确定后续的学习方式。
以我个人的理解,对于像 数据挖掘分析、自动化测试、Linux自动化运维、测试这类方向,有了Python基础,如果又有相关行业经验,基本上不需要考虑参加其他培训了,因为此类学习曲线相对单一,整个知识与技能体系相对简单,技术复杂度和学习成本相对较低,同时上面介绍了网络上许多免费的教程,足够帮助我们进行后续的学习。我们需要考虑的更多是如何将所学应用到实际工作当中,给工作效率和质量带来提升。
除此之外,比如AI人工智能、前端应用开发等方向,需要体系化的知识结构,学习曲线复杂,如果通过自学的方式很难构建完整的知识、能力体系,效果也难以保障,容易事倍功半,偏离方向。因此这类方向建议参与培训的方式来学习。
最后,如果我们是为了换一个工作方向(转行)而选择学习Python编程,虽然我们的主观动能性能够促使我们克服很多的困难,但还是建议考虑客观存在的一些因素,比如所在城市目前相关行业的发展情况以及行业相关人才的用人需求、要求。 关于培训学习,也需要结合上面所提到的。 在培训机构选择时建议多考虑就业问题,如根据自身条件及现状咨询相关培训机构,先了解能够培训的技能及是否提供相关企业内推机会,机构该专业的就业率、薪资情况等等。
Pytho编程环境快速搭建两步,先安装Python环境,再安装Python开发IDE,如下:
通过Anaconda安装PythonAnaconda指的是一个开源的 Python 发行版本,其包含了conda、Python等180多个科学包及其依赖项。
我们从Anaconda 官网下载Anaconda,下载地址如下:
https://www.continuum.io/downloads建议选择安装Python 3.7版本,完成下载之后,双击启动安装程序,安装过程注意以下几点注意:
如上,我们选择“Just Me(recommended)”安装,若在安装时选择了“为所有用户安装”,则卸载Anaconda然后重新安装。如上,安装路径中不要包含空格,也不要包含中文(unicode编码)。
如上,在“Advanced Options”中不要勾选“Add Anaconda to my PATH environment variable.”(添加 Anaconda到我的环境变量)。如果勾选,可能会影响其他程序的使用。
如上,如果使用Anaconda安装或者更新第三方库,可以打开Anaconda Navigator或者在开始菜单中的“Anaconda Powershell Prompt”(类似于Windows中的“CMD终端”)中进行操作。
使用集成开发环境Pycharm编写Python代码PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。PyCharm 的官网下载地址,如下:
http://www.jetbrains.com/pycharm/download/#section=windows完成下载之后,双击启动安装程序,安装过程非常简单,此处不做说明。
安装完成后,如果需要运行程序,需要先添加解释器。
如上,在Settings中设置Python解释器,我们选择Python3.exe,点击Apply,等待系统配置,时间可能比较差,通过左下角可以看到配置进度。
使用Pycharm安装、更新第三方库
如上,如果我们需要添加新的模块,点击绿色加号,然后直接搜索pymysql,然后点击“Install Package”进行安装。
美好的开始,Hello World以下实例是我们使用Python开发的第一个实例,即 输出"Hello World!" 。
总结,以上就是关于python教程廖雪峰云以及python入门书籍有何推荐的经验分享,卡友有疑问可以加wx或扫码加群!Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有