Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python入门 2018最新最全学习资料免费获取啦

python入门 2018最新最全学习资料免费获取啦

原创
作者头像
原来是泽镜啊
发布于 2018-08-16 13:08:10
发布于 2018-08-16 13:08:10
6080
举报

是否非常想学好 Python,一方面被琐事纠缠,一直没能动手,另一方面,担心学习成本太高,心里默默敲着退堂鼓?

幸运的是,Python 是一门初学者友好的编程语言,想要完全掌握它,你不必花上太多的时间和精力。

Python 的设计哲学之一就是简单易学,体现在两个方面:

  1. 语法简洁明了:相对 Ruby 和 Perl,它的语法特性不多不少,大多数都很简单直接,不玩儿玄学。
  2. 切入点很多:Python 可以让你可以做很多事情,科学计算和数据分析、爬虫、Web 网站、游戏、命令行实用工具等等等等,总有一个是你感兴趣并且愿意投入时间的。

入门进阶python,有一个学习的氛围跟一个交流圈子特别重要这是一个我的python交流群:737979092,不管你是小白还是大牛欢迎入驻 ,分享各类爬虫教程教学,讨论技术, 大家一起交流学习成长!

废话不多说,学会一门语言的捷径只有一个: Getting Started

¶ 起步阶段

任何一种编程语言都包含两个部分:硬知识和软知识,起步阶段的主要任务是掌握硬知识。

°1 硬知识

“硬知识”指的是编程语言的语法、算法和数据结构、编程范式等,例如:变量和类型、循环语句、分支、函数、类。这部分知识也是具有普适性的,看上去是掌握了一种语法,实际是建立了一种思维。例如:让一个 Java 程序员去学习 Python,他可以很快的将 Java 中的学到的面向对象的知识 map 到 Python 中来,因此能够快速掌握 Python 中面向对象的特性。

如果你是刚开始学习编程的新手,一本可靠的语法书是非常重要的。它看上去可能非常枯燥乏味,但对于建立稳固的编程思维是必不可少。

Python 的哲学:

用一种方法,最好是只有一种方法来做一件事。

学习也是一样,虽然推荐了多种学习资料,但实际学习的时候,最好只选择其中的一个,坚持看完。

必要的时候,可能需要阅读讲解数据结构和算法的书,这些知识对于理解和使用 Python 中的对象模型有着很大的帮助。

°2 软知识

“软知识”则是特定语言环境下的语法技巧、类库的使用、IDE的选择等等。这一部分,即使完全不了解不会使用,也不会妨碍你去编程,只不过写出的程序,看上去显得“傻”了些。

对这些知识的学习,取决于你尝试解决的问题的领域和深度。对初学者而言,起步阶段极易走火,或者在选择 Python 版本时徘徊不决,一会儿看 2.7 一会儿又转到 3.0,或者徜徉在类库的大海中无法自拔,Scrapy,Numpy,Django 什么都要试试,或者参与编辑器圣战、大括号缩进探究、操作系统辩论赛等无意义活动,或者整天跪舔语法糖,老想着怎么一行代码把所有的事情做完,或者去构想圣洁的性能安全通用性健壮性全部满分的解决方案。

很多“大牛”都会告诫初学者,用这个用那个,少走弯路,这样反而把初学者推向了真正的弯路。

还不如告诉初学者,学习本来就是个需要你去走弯路出 Bug,只能脚踏实地,没有奇迹只有狗屎的过程。

选择一个方向先走下去,哪怕脏丑差,走不动了再看看有没有更好的解决途径。

自己走了弯路,你才知道这么做的好处,才能理解为什么人们可以手写状态机去匹配却偏要发明正则表达式,为什么面向过程可以解决却偏要面向对象,为什么我可以操纵每一根指针却偏要自动管理内存,为什么我可以嵌套回调却偏要用 Promise...

更重要的时,你会明白,高层次的解决方法都是对低层次的封装,并不是任何情况下都是最有效最合适的。

技术涌进就像波浪一样,那些陈旧的封存已久的技术,消退了迟早还会涌回的。就像现在移动端应用、手游和 HTML5 的火热,某些方面不正在重演过去 PC 的那些历史么?

因此,不要担心自己走错路误了终身,坚持并保持进步才是正道。

起步阶段的核心任务是掌握硬知识,软知识做适当了解,有了稳固的根,粗壮的枝干,才能长出浓密的叶子,结出甜美的果实。

¶ 发展阶段

完成了基础知识的学习,必定会感到一阵空虚,怀疑这些语法知识是不是真的有用。

没错,你的怀疑是非常正确的。要让 Python 发挥出它的价值,当然不能停留在语法层面。

发展阶段的核心任务,就是“跳出 Python,拥抱世界”。

在你面前会有多个分支:科学计算和数据分析、爬虫、Web 网站、游戏、命令行实用工具等等等等,这些都不是仅仅知道 Python 语法就能解决的问题。

拿爬虫举例,如果你对计算机网络,HTTP协议,HTML,文本编码,JSON一无所知,你能做好这部分的工作么?而你在起步阶段的基础知识也同样重要,如果你连循环递归怎么写都还要查文档,连 BFS 都不知道怎么实现,这就像工匠做石凳每次起锤都要思考锤子怎么使用一样,非常低效。

在这个阶段,不可避免要接触大量类库,阅读大量书籍的。

聪明的你一定会发现上面的大部分书籍,并不是讲 Python 的书,而更多的是专业知识。

事实上,这里所谓“跳出 Python,拥抱世界”,其实是发现 Python 和专业知识相结合,能够解决很多实际问题。这个阶段能走到什么程度,更多的取决于自己的专业知识。

¶ 深入阶段

这个阶段的你,对 Python 几乎了如指掌,那么你一定知道 Python 是用 C 语言实现的。

可是 Python 对象的“动态特征”是怎么用相对底层,连自动内存管理都没有的C语言实现的呢?这时候就不能停留在表面了,勇敢的拆开 Python 的黑盒子,深入到语言的内部,去看它的历史,读它的源码,才能真正理解它的设计思路。

这里推荐一本书:

「Python 源码剖析」:Python源码剖析 (豆瓣)

这本书把 Python 源码中最核心的部分,给出了详细的阐释,不过阅读此书需要对 C 语言内存模型和指针有着很好的理解。

另外,Python 本身是一门杂糅多种范式的动态语言,也就是说,相对于 C 的过程式、 Haskell 等的函数式、Java 基于类的面向对象而言,它都不够纯粹。换而言之,编程语言的“道学”,在 Python 中只能有限的体悟。学习某种编程范式时,从那些面向这种范式更加纯粹的语言出发,才能有更深刻的理解,也能了解到 Python 语言的根源。

这里推荐一门公开课

「编程范式」:斯坦福大学公开课:编程范式

讲师高屋建瓴,从各种编程范式的代表语言出发,给出了每种编程范式最核心的思想。

值得一提的是,这门课程对C语言有非常深入的讲解,例如C语言的范型和内存管理。这些知识,对阅读 Python 源码也有大有帮助。

Python 的许多最佳实践都隐藏在那些众所周知的框架和类库中,例如 Django、Tornado 等等。在它们的源代码中淘金,也是个不错的选择。

¶ 最后的话

每个人学编程的道路都是不一样的,其实大都殊途同归,没有迷路的人只有不能坚持的人。虽然听上去有点鸡汤,但是这是事实。

还有很多我就不一一截图了,需要这些资料的直接添加群:737979092,在群文件直接下载,当然也欢迎和我交流。大家一起学习共同成长。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
如何系统地自学 Python?
是否非常想学好 Python,一方面被琐事纠缠,一直没能动手,另一方面,担心学习成本太高,心里默默敲着退堂鼓? 幸运的是,Python 是一门初学者友好的编程语言,想要完全掌握它,你不必花上太多的时间和精力。 Python 的设计哲学之一就是简单易学,体现在两个方面: 语法简洁明了:相对 Ruby 和 Perl,它的语法特性不多不少,大多数都很简单直接,不玩儿玄学。 切入点很多:Python 可以让你可以做很多事情,科学计算和数据分析、爬虫、Web 网站、游戏、命令行实用工具等等等等,总有一个是你感兴趣并且
CDA数据分析师
2018/02/05
1.3K0
如何系统地自学 Python?
【教程分享】一个零基础学习Python应该知道的学习步骤与规划
很多初学Python的同学都面临着很多的疑问,在之前的文章中我大致的很多问题我已经进行了讲解,无论你是编程零基础、数学,英语不错、还是说没有一个好的学习路线和学习规划等等,我都给大家进行了一个讲解。 今天呢给大家讲以下问题:很多人都在问Python学习步骤应该如何安排?多长时间可以达到精通呢?
python学习教程
2020/06/19
8800
如何选择适合自己的编程语言?
哈喽,各位小伙伴!作为一名热爱编程的博主,我深知选择一门适合自己的编程语言对于初学者来说是个大挑战。在这篇博文中,我将带你们深入探索,分享如何选择适合自己的编程语言,让你们在编程的世界中找到属于自己的舞台!😊
默 语
2024/11/20
1790
Scala学习路线
这是一篇为公司内部”scala热情workshop”活动准备的文章,面向Scala初学者,目的在于帮助大家能尽早就建立起对Scala的整体认识,少走弯路。当然由于水平有限,有些地方可能不准确,不过如果
Albert陈凯
2018/04/04
2.4K0
Scala学习路线
软件测试:Java VS Python
当你学完软件测试基本理论,掌握业务测试流程,功能测试可以搞定,数据库和linux玩的也很溜时,接下来想进一步进阶,那么学习一门编程语言必不可少。
测试小牛
2022/04/25
7140
软件测试:Java  VS  Python
想要成为python大神,这17个老司机收藏的国外免费学习网站不可错过!
如果你准备学习web开发, Python是一个不错的开始,甚至想做游戏的话,用Python来开发游戏的资源也有很多。
猫咪编程
2018/07/04
5.2K0
C加加零基础初学者该如何学习C加加以及编程
都说Java是世界上最受误解的语言,其实C++何尝不是。现在网上流传的错误的C++学习方法一抓就是一大把。很多人在学习C++的过程中也走了许多弯路,浪费了不少时间。我自己也是。走了不少弯路。所以在码农的世界中,java逐渐有了统一江湖的味道。昔日的霸主C++虽面临失宠,却一直坚守着自己的传统领域。若干年前,初学编程的人还会纠结于偏向java还是偏向C++。随着java技术的快速发展和web应用的兴起,这个问题已经很长时间没有人提起了。想学习c++,加C语言、C++学习交流Q裙三 四 三 八 九 一 三 六
企鹅号小编
2018/02/11
1.1K0
C加加零基础初学者该如何学习C加加以及编程
一门编程语言如何理解?
记得刚开始学编程那会儿,没有任何计算机基础,编程语法大多靠背——C++语法,操作系统各项定义,计算机网络各种协议......
主机优惠
2019/06/20
7260
转行了!
微信上收到一个读者的私信,他正在一所 985 高校读研,专业是机械工程,想转行做软件开发,问我该选择 C++ 还是 Java?
沉默王二
2021/11/16
6040
转行了!
测试Java初学者建议
作为测试工程师,我们需要具备扎实的编程技能,能够熟练掌握至少一门编程语言。因为测试工作本身就需要编写测试脚本、开发自动化测试工具和测试框架等,这些工作离不开编程语言的支持。同时,编程语言的不断更新和变化也要求我们不断学习和提升。
FunTester
2023/08/04
2590
测试Java初学者建议
自学Python发现很难,入门方法到底是什么?「干货放送」
首先我想说的是,对于想学好的编程的人来说,无论从哪一门语言开始入手,语言的本身其实并不是我们最应该的关心的,至少不是作为一个初学者首先关心的。
程序员迪迪
2022/01/17
2970
从入门到进阶,这份完整的Python学习
教育部考试中心近日发布了“关于全国计算机等级(NCRE)体系调整”的通知,决定自2018年3月起,在全国计算机二级考试中加入了“Python语言程序设计”科目。
py3study
2020/01/08
1.1K0
如何自学编程(二)-该怎样选择入门语言?
上次分享了一篇文章:《如何自学编程?》从初学者的角度给大家介绍了一些基本的概念和一些术语。
极客开发者
2022/01/18
7280
如何自学编程(二)-该怎样选择入门语言?
一名数据分析师的Python学习历程
前期,将自己完整的SQL学习历程尽可能详细的总结了一遍,后台也收到了一些读者的反馈,并私信交流Python的学习历程,恰好这也在个人的计划之中。私以为,相较于SQL这种知识体系相对单一、内容体量有限(是指常用操作范围,如果想成为数据库专家自然也是学海无涯的)的知识,分享Python的学习历程要复杂得多。一方面。编程语言本身要涉及计算机组成原理、部分数学基础、数据结构与算法等等,要求更为综合;另一方面,各种编程语言之间也相对互通,若有一门编程语言的基础的情况下再学其他编程语言就会相对容易得多。所以,本篇仅就自身在学习Python过程中的基本路径进行总结。
luanhz
2020/10/26
4220
如何从零开始学一门程序语言?
今天一大早排队挂号给孩子看病,耽搁了,现在才发。 说实话,『能花钱的,就不要花时间』是篇即兴之作,本该随着时间被有限的听众渐渐淡忘。但没想到前有 @老赵 微博转发,后有知乎日报鼎力提携,这篇文章火得一塌糊涂,一下子把我推到了风口浪尖。我其实想委婉地表达一个意思:程序员的时间很宝贵,只要有能用合理价格买来的用来提高效率的产品和服务,就不要花时间找免费或廉价的替代品。但显然还是被不少人误读。不少人质疑的焦点放在了:『你是有钱了,可我们是屌丝,买不起正版软件,正版图书,盗版不也一样用么?』我没想到随手举的一个买正
tyrchen
2018/03/28
8110
python入门学习步骤,希望对你有所帮助
学习python的过程分为四个阶段:了解python、找个例子练手、做项目、能力提升。
python学习教程
2019/10/14
8280
python入门学习步骤,希望对你有所帮助
Java自学看这篇就够了!零基础速通教程:环境配置→项目实战→就业指导(附资料包)
在当今数字化时代,Java 作为一门广泛应用于企业级开发、移动应用开发等众多领域的编程语言,具有极高的市场需求。自学 Java 不仅能为个人打开一扇通往广阔职业发展空间的大门,还能培养自主学习和解决问题的能力。然而,自学的道路往往充满挑战和陷阱,如果没有正确的方法和指导,很容易走弯路,浪费大量的时间和精力。本文将结合实际经验,为你提供一套系统的自学 Java 方案,助你在职场至少少走 1 年弯路。
万里顾一诚
2025/03/26
3691
Java自学看这篇就够了!零基础速通教程:环境配置→项目实战→就业指导(附资料包)
适合初学者入门的5种编程语言
如果你想学习编程,虽然选择第一门编程语言与你想用它来做什么最终达到什么目的有很大的关系。但是事实上某些编程语言的确比其他语言要好学。选择一门合适的编程语言作为入门的语言对于培养自己编程的兴趣会有很大的
程序员互动联盟
2018/03/13
6.2K0
适合初学者入门的5种编程语言
ChatGPT引导下的编程起航:零基础学会Python编程(ChatGPT版)
随着数字化时代的来临,编程成为了一项必不可少的技能。而Python作为一门简单易学、功能强大的编程语言,吸引了越来越多的初学者。然而,对于零基础的人来说,学习编程可能会感到困惑和无从下手。幸运的是,现在有了一种全新的学习方式,即通过与ChatGPT进行对话来学习编程。本文将介绍通过ChatGPT引导下的零基础学会Python编程,助你轻松迈入编程世界。
海拥
2023/07/21
4090
Java零基础学10个小计划,提高java学习效率
零基础学Java只要方法得当,依然有机会学习好Java编程。初学Java就像交朋友从陌生到熟悉再到铁杆搭档一生相伴,随着学习的深入,你会发现学Java并不是想象的那样枯燥和困难,甚至还有一些美妙之感,
Java帮帮
2018/03/15
7510
Java零基础学10个小计划,提高java学习效率
相关推荐
如何系统地自学 Python?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档