如何自学Python?

ann-安大官人


首先介绍下我的背景,我高中是理科生,但是大学四年,研究生都是管理专业,平时不怎么接触编程,完全是0基础的编程小白。

没学编程前觉得编程很难,搞不懂学数据结构能做什么,for循环有毛用, if while 判断真真假假有意思吗?还有错误处理,类,修饰器,更不知道能用来做什么?

所以没学python 前,你和我一样对ta是未知的。人们对未知天生的恐惧,导致咱们小白,尤其是文科生,对编程这片未知领域望而却步,生怕付出了没有回报。而且人们做事前天生的害怕失去,却不怎么考虑得到这方面。这种习惯把很多人限制于编程世界之外。

我最早接触编程是三年前,当时有一位朋友学世界上最好的语言PHP ,学php 实际上要前端html css JavaScript 和后端数据库。我那时也跟着凑热闹学了学html css JavaScript 至于数据库基本没学,学习放弃的原因是学到JavaScript 时不懂这些数据结构,条件判断,循环这些东西能用来做什么。而且只是看视频学,没有真正的动手,几十集教程妄图一口气看完,再去敲代码写出个东西来。可想而知,一写就出错,很有打击感,挫败感。

然后我就放弃了学编程,还是安心的去考研吧。这一考就是三年,总算在15年考上管理学研究生。但是读研时导师要求我去爬数据,开展分析。我嘞个去,

文科生编程低能儿小白的我,肿么办?

当时导师说你要是有决心学我就送你暑假去参加“哈工大大数据与商务智能暑期学校”。这诱惑力还是挺大的,毕竟离开学校三年,想回母校的本部看看(我是威海校区的)。但是我还有其他人都没有立刻回复导师,也在做思想斗争。

直到一个月后,因为看了很多相关论文,大数据的概念应用等,觉得这方面很有前途。能够解决未来自己的读博科研需要,又能在职场上加分,我觉得学编程对我很有用,特别有用。

当一个人觉得掌握某样知识对自己很有用,很迫切时,也就会忽略了要掌握这技能的艰辛过程。我开始渴望编程,想学会了就可以从网络中获得数据,有了数据那就可以写论文,想想都觉得很美很赞。

在这个时候,我有位朋友开始学python ,我转战python ,瞬间觉得python 好简单。因为我是一点点的啃代码,看到一行代码不懂,就去敲代码,不考虑以后拿来能作什么。也没时间考虑这数据结构,条件判断语句很简单,可是能用来做什么。这些问题,我哪里有时间考虑。还有不到一个月时间我就要去哈工大暑期学校了,我必须

掌握python 基本知识。

人有时候越聪明越被动,反而不如傻乎乎点单纯点。不要纠结那么多,啥也别说别想就去敲代码就好了。不懂得没关系,敲代码,报错,那就改代码,总会三两下就记住这错误。下次就不会犯错。

就这样,基础部分,再结合自己需要学相关的库,任务导向,学习起来很快。基础部分用时快的人一周,慢的一个月。我从学python 到写出第一个爬虫,用时不到一个月。真的很简单。

后来,写出爬虫觉得python 大法好,我又继续精进爬虫这门手艺,最初只能爬的静态网页,到后来,动态的也会爬了。但是自己水平还不够,还需要提高提高再提高。

说了我的例子,废话很多。鸡汤很多,但编程小白的我现在会写爬虫了,也算一个正面案例。

全面了解Python

很多小伙伴想学Python又不知如何入手。今天,

我们就先了解Python,回答关于Python的常见问题:

Python是一种什么语言?

Python是一种计算机程序设计语言。你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的Java语言等,Python是他们其中的一种。

而不同的编程语言,干同一件事,编写的代码量,差距也很大。比如完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行。

用Python可以做什么?

可以做日常任务,比如自动备份你的MP3;可以做网站,很多著名的网站像知乎、YouTube就是Python写的;可以做网络游戏的后台,很多在线游戏的后台都是Python开发的。

其它比如运维、Web开发、应用开发、大数据、数据挖掘、科学计算、机器学习、人工智能、自然语言处理……还可以写很长很长……

总之就是能干的事情非常多,但是Python也有不能干的事情,比如写操作系统,这个只能用C语言写;写手机应用,只能用Objective-C(针对iPhone)和Java(针对Android);写3D游戏,最好用C或C++。

学Python难度大吗

Python是一门高级语言,那么是不是越低级的程序越难学,越高级的程序越简单?表面上来说是这样的。但是,高级的Python程序设计也是非常难学的,所以,高级程序语言不等于简单。不过对于初学者和完成普通任务,Python语言是非常简单易用的。像楼主这样软件工程师出身的话,掌握起来也应该是比较轻松的。

Python薪资

有打算学习Python的同学会问,Python学完之后就业情况怎么样?薪资待遇怎样?就Python的职业发展方向,这里简单的做一些分析,给大家提供一些参考。

可以看到,Python的平均薪资在15000元左右,而根据今年的行情来说,20000元左右不是难事。即使是刚毕业的应届生,一般二线城市起薪也可以达到6-8K左右,一线城市起薪可以达到8K左右。

就业职位有如下方向:

  1. Linux运维工程师
  2. Python开发工程师
  3. Python人工智能工程师
  4. 大数据工程师
  5. Python游戏开发工程师
  6. Web网站开发方向
  7. Python自动化测试


嗨学python


很高兴回答你的问题

首先,为啥要学习Python?这里我说下我的想法。我去年刚毕业,到今年7月份就刚好毕业一整年,在这期间,我报了一个Python学习班,但所教内容都被我在网站上找到了相似内容。它带给我的可以说是当时走投无路的希望,但也是现在稳定生活的经济隐患。但我不会放弃,因为我喜欢它,Python附有的独特魅力,让我可以将它作为副业展现在arduino、microbit,又或者是数据分析等领域。

找到了自己的初衷后,不要轻易改变。只有这样,我们才能真正领会。接下来聊聊怎么学习它。

第一,将Python知识进行结构化

对于一些小白,不要受广告效应影响,失去了自己的判断。再想学习Python之前,要了解它是什么?它可以做什么?为什么要学它?只有你对这三个问题有了答案,你才能去学习它。我这里给一个我学习Python的结构:

1.Python

数据类型等基础

2.Python

爬虫

3.Python

数据分析

4.Python

机器学习

5.Python

深度学习

而第一部分涵盖了运算符、数组、列表、字典等的基础了解与使用。在学习的时候先画一个学习的框架,对它进行结构化学习分析。

第二,付费网络课程助力

为啥这里说付费网络课程,现在网上很多免费课程,看着很吸引人。很多小白都相信可以学到很多内容,但这些其实是一种营销方式,空中建楼阁,万万不可。我之前也看了些免费课程,要不就是很深奥,看着很精彩、很刺激,但真正去操作起来很难;或者说你学会了敲代码,但却不知道为什么。学习Python,我拒绝做码农。那为啥一定是付费课程?不可以参加培训吗?其实培训是可以的,都是很厉害的工程师,但是工程师跟老师相比还是有很大差距的,特别是利益性的。老师会教你为啥是这样的,而工程师会教你怎么做来实现它,久而久之,你学会的是技能而不是创新、改进。这些都是比较侧面的,最主要的是价格高昂,而且学习内容趋于基础。教会了徒弟饿死师傅,也不是没有道理的啊。所以不要指望培训出来能马上成为一个经验丰富的Python工程师,最多就是在工程师的带领下,你进入了Python这门。相比下,付费网络课程,具有可移性强,价格实惠,内容丰富等特点。如果有视频加作业任务给到,那就最好了。

第三,分享点学习平台

第一:官网。直接百度搜搜Python就可以找到官网,当进入官网就可以浏览很多学习文档。像django、flask、scrapy等等都可以查阅到。但内容都比较基础。

第二:csdn,在这里,你可以下载源码,下载学习文档,以及交流心得来充分学习。

第三:git,这里是全球程序员的交互平台,在这里可以找到很多实战项目来进行学习。

更多精彩,敬请期待!


科创陈


如何自学Python,这个问题其实在我刚开始接触Python的时候也挺困扰我的,新的语言,我该怎么学习呢?在这里我分享一下我的学习经历。

学习从基础打起,语言的基础语法是应该要掌握的

刚开始的时候,没有头绪。只有一点多看书,硬着头皮看书,可以帮忙扩展思路。抱着这样的心态,在京东上买了很多书,只要大家提到有帮助的书买了一个遍,当然京东上的书碰到活动其实挺便宜的满300减200的时候很多,所以算下来其实不贵,花不了多少钱。书买来后就挑着看,那本看的懂,我就专心看那本书。看的过程中最重要的是要实践,不能只看书,很多时候,你在书上看懂了,没有用,自己写不来,或者并没有真正理解,比如切片,你要真只看书,你可能就理解的不透彻,比如带负数的切片。看到函数的时候,自己更要多动手,python作为函数式编程的代码,你甚至可以只写函数就可以实现所要的功能,包括复杂的应用开发。

学习完基础后,就需要找一个方向,工作的需要个人一直是数据方面

python的应用场景比较丰富,人工智能、数据挖掘、网络爬虫、web应用都可以开发,对于我来说平时工作接触的是数据,所以,基本上碰到问题了,就通过python来解决,比如,定时地将数据发送到业务方,这个时候就需要我掌握数据库的操作和邮件的操作两方面的内容。对于数据一般来说是mysql,当然也有其它的,不过应用最多的是mysql,如何利用python实现对mysql库的操作就是需要学习的一个知识点,操作完数据库后,数据的发送就涉及到对excel的操作和邮件的操作,这样的话一步一步的深入,你会发现很多知识点就可以通过实际的工作得到转化。

总的说来,自学Python我是通过看书去学习,当然也可以通过博客,视频的学习来达到,学习好后,到应用层面,其实身边很多的应用都可以使用,比如爬取网页的数据然后存储到数据库,并且在写入成功后发一个邮件告诉你写了多少条记录到数据库。


Bean蚕豆


我毕业于克莱门森大学政治学专业。我曾考虑过是否选择学习计算机科学专业,还在大一那年报名参加了“编程概论”课程,不过很快就退出了。实在是太难了。

毕业后我一直住在硅谷,我发现我需要学习编程。一年后,我成为了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的脑图,也确实很详细。不过对于初学者来说,可能显得太详细,知识点太多,

还没有开始学就吓着自己了。下面就简单说一下自己的学习方法。

一. 先学习基础的语法。

大家都推荐的廖雪峰老师的教程就不错\thttps://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000

还有菜鸟教程 http://www.runoob.com/python3/python3-tutorial.html 也不错。

二. 基础语法看的差不多,可以去慕课网看看视频,https://www.imooc.com/course/list?c=python 巩固一下基础知识。

免费的视频不少,还有一些项目实战,够学一阵子了。

三.\t基础知识过完以后就要找项目练手了。如何想往爬虫方面发展可以看看崔庆才老是的博客 https://cuiqingcai.com/

爬虫有太多项目可以练手了。百度一下就有一大堆,可以先从简单的练习。比如爬一些不需要登陆,没有验证码的一些网站(小说类的)

然后在试着爬需要登陆验证的,各式各样验证码的,ajax异步加载的。再然后学习框架(scrapy)。

四. 如果做web开发可以学习django,flask之类的框架。

五. 最好的教程就是看官方的文档了,不会英语可以借助chrome浏览器自带的翻译功能,实在不想看英文的话

看看http://www.pythondoc.com/

六. 坚持写博客,把自己在学习中遇到的困难,自己解决困难的思路,新的知识点自己是怎么把它弄明白的。

把它们都用文字的方式记录下来(博客园,csdn),都可以。一来可以作为自己学习的见证,二来以后在遇到

同类的问题,在自己的博客中就能找到解决的方法,不用去baidu,google大海捞针了。

当然除了系统的学习外,还有一种就是用到什么知识,现学什么知识。

想实现一个什么样的功能,不知道怎么着手开始,那就baidu,google搜索,看看前辈们是怎么做的,

他么用到了什么函数,什么库,自己在去学这些函数跟库。

然后用博客记录下来学习的过程。

不管什么方法都要坚持下来。遇到困难不要害怕,要想办法解决困难。比如显示一个九九乘法表出来,我不会用for循环,没关系,我会用print()啊,我print()出来总可以吧!

然后可以在学循环啊。先要把要求实现了,然后再考虑有没有更好的

方法。


gudukuaile


说说我自己的经历吧

1、从廖雪峰官网学习了1个月基础教程,边学边实践

2、然后开始学习django web开发,这个过程需要学习数据库,缓存,linux

3、主要是要学以致用,大概2年时间你就可以是一个中级初水平了,薪资在长沙大概 6-8K


IT多巴胺


邀请我也没用,我不会。

但是记住我说的一句话,软件是非常依赖的行业。我一行java一行oc也不会写,但是最后他们的疑难问题都要我来定位,为什么,因为他们不熟悉问题的本质和系统的本质,我了解。不管什么语言,最终都是为了实现功能,那么相似的功能就一定有相似的架构,所以我知道在什么时间什么地点什么条件下应该做什么事情,在这个背后是多年的经验积累和对行业和架构的洞察。


虫儿飞122462026


正在学习中,给你推荐一下。我之前看过某机构一两千的课程,太基础了,零散的很,一点也不实用。后来也没朋友给我推荐了尚学堂高淇400集,哈哈,刚开始不相信,竟然是免费的,现在这么慷慨的机构不多了。现在正在学,很有意思,很有用,适合小白。学习这段时间,很认可,所以正计划学完基础参加他们的百战程序员班级深入学习,哈哈,祝我好运!


我是双鱼座2020


如何自学python的技术,还有一个很大的前提就是你希望利用python实现什么功能?换言是你希望学了python以后你可以做什么?

首先看一下python可以做什么:

  • 全栈开发工程师

  • 运维开发工程师

  • 高级开发工程师

  • 大数据工程师

  • 机器学习工程师

  • 构架师

目前我们应用的最多的就是全栈、数据分析还有运维开发。所以找到未来的发展方向再去有针对性的制定自学方案是最节省时间节约成本的。很多人在学习之前很少想到,以后做什么,只是如何入门。在现在开始,我们先思考这个问题。

下面不多说了,直接看我们学习python的流程:

一定不是看到学习导图就找语法入门学习,第一件事我们要做的就是下载安装好学习环境,到官网下载以后python的版本,在2.0和3.0之间选择一个,在这里建议每一个初学者,不要下载具有IDE的集成开发环境。

接下来,看到学习导图


首先是python基础知识。这里建议初学的朋友看视频入门。抱着书去学知识的时候,容易半途而废。视频找到好老师,和配套资料。会一步一步带你建立编程思维。要学习就是关键字语法函数。数据结构变量等等。

下面是python高级,我们要入门python的话一定是越学习越深入。下一个python高级的阶段,是为了学以致用,能将我们所学的真正的应用于开发当中,所以就要了解网络和数据库的知识。

第一个阶段和第二个阶段学习完了之后,建议不要直接开始下一个阶段学习,视频入门了之后我们要做的就是看书。《笨办法学Python》一周左右读完。

这里要说一下,如果之前选的方向是人工智能,那么直接进入第七个阶段就可以了,学第七个阶段和第八个阶段。要是以后想做web开发方向,我们继续学习三四阶段。


分享到:


相關文章: