【原创】转载请注明作者Johnthegreat和本文链接。

相信大家都知道,Python很容易学,有编程基础的人,最多两个星期就可以很愉快的撸Python的代码了,那么具体涉及的知识有哪些,下面为大家整理出来目录。

同时,给初学者一些参考,知道学习的方向,以及学习一段时间后,检验自己达到的水平。

这篇文章预计5分钟读完,所以不会有很多复杂的描述,基本上是概述性的描述。不罗嗦,以下开始:

1. Python基础概念

这是一门高级编程语言,不用操心底层细节。同时它也是解释型语言,不需要编译,写好就可以运行。由荷兰人Guido于1991年开发。有时间可以看看下面这个链接:

https://baike.baidu.com/item/Python

需要知道有Python2和Python3之分,目前最新的发布版本已经Python3.8.2,而Python2永远的留在了Python2.7.x版本了。最大的视觉区别感受就是print的使用。

2. 熟悉开发工具 - Pycharm,Jupyter Notebook等

写代码很多时候就像写文章,键盘是手中的笔,而开发工具就是笔记本。所以,如果你能力超强,windows的记事本都可以成为你的开发工具。但是,作为有审美要求,以及追求效率的我们来讲,能够有一个称手的工具,就像锯木工具用上了锯子而非菜刀一般爽。Pycharm有社区版,初学足够,Jupyter Notebook基本所见即所得,科学计算类的库学习更爽。

3. Python输入与输出

这个没有难度,但是需要掌握,就是input和print之类的。当然,Python是优美的,没有一大堆大括号等等,只需相应的缩进即可。

4. 变量与基本数据类型

变量就是人的名字,不是人本身。叫名字就知道是这个人,同理,计算机里面用变量来代替指代的东西。基本数据类型就3种:数字类、字符串类、布尔类。

5. 运算符

赋值运算,算数运算,逻辑运算,比较运算等,更深一点的了解一下就可以。同时有多个运算符的时候,注意一下优先级,当然,最简单的方法就是用括号来直接覆盖运算的优先顺序了。

6. 列表和元组

非常重要的章节,但是初学,首先知道列表得索引、切片等概念,相关的排序、求和等函数,然后是列表推导。后面写完整程序的时候再进一步理解列表推导、遍历、生成器等。这里的生成器是一个重要知识点。

元组与列表类似,只是不可变,相比不如列表常用。

7. 字符串与正则表达式

非常重要的章节,尤其是正则表达式,这是Python的一个内置标准库。字符串的各种操作,就像拼图的各种玩法,各种操作的基本函数、字符编码等都需要掌握。正则先参考如下:

https://baike.baidu.com/item/正则表达式

看完可以进一步看官方的中文文档:

https://docs.python.org/zh-cn/3/library/re.html

不用背下来,仔细琢磨规律,记住2-3个常用的,然后多使用几次,以后就顺了。

8. 流程控制

重要章节,没有多说的,Python提供了非常简明的控制规则,只有基本的if…else,以及对这个的补充elif,条件判断的in,not,and等。

9. 循环结构语句

重要章节,就两个循环,一个不知道结束的while,一个有限的for。顺带知道continue和break的跳过和跳出循环的用法。

10. 字典与集合

重要章节,字典和集合都是大括号,只是字典是键和值成对出现。集合最大的用处就是去重。

11. 函数 - 模块化程序设计

毫无疑问,重要章节,上面的基础加上这个函数,如果你能力超强,已经学完了。函数的英文是function,语法就是def…。也就是实现某一功能的代码块了。

注意有个lambda函数,官方名字是匿名函数,也需要掌握,小功能的实现很有用,代码简洁。

函数闭包了解一下。

12. 类和对象

非常重要的章节,这个章节是面向对象编程的基础,是在函数的基础上进一步抽象。在Python里,万物皆对象。类里面注意装饰器的概念,掌握了函数闭包,理解装饰器就简单多了。其他的概念封装、继承、多态也是需要掌握的。

13. 模块 - 库

Python有标准库,安装Python时,自动安装了,还有第三方库,使用pip安装,其实都是一样的,给你提供完成某事的快捷工具。目前超过22万个库,做同一件事,你可以有海量的选择,比较偏的项目也有不少。比较常用的库有:

sys:系统和环境相关

os:系统服务,用的最多的路径相关的模块

time:时间相关

requests:爬虫

json:数据序列化

等等……

14. 文件与IO

文件的读写操作,熟悉各种读写模式,注意编码问题。另外,打开文件使用with才爽,虽然没有省略几行代码,但是丝滑的感觉很好。

15. 使用Python操作数据库

非常重要,内置的sqlite3数据库,基本操作一遍增删改查,有个概念,后续进一步学习。如果你有数据库的经验,这一章基本不用花太多时间。

16. 进程和线程

了解进程和线程的区别,GIL锁等等。Python一直被诟病的就是性能,这些概念对性能的理解有帮助。熟悉multiprocessing, threading等模块的使用。

17. 网络编程

这个与Python本身关系不大,需要自身学习网络相关的知识,然后熟练运用socket模块的使用。具体需要了解的如下:

IP、TCP、UDP、Socket等协议的了解,建议自行百度,cnblogs、csdn、jianshu等等都有很多很好的文章,如果英文很好,可以看英文网站加深理解。

以下的歪解供参考:

首先,世界是一直发展的,统计和计算一直在进行,突然有一天,人们发现大脑不够用了,这个时候:

1)出现了超过人类极限的”计算器“,一个不够用,人类就造了很多个。这个就是基本的物理层

2)这些计算器像怪物,人类模拟着语言,给这些怪物制定了统一的一些形态,都有”两只脚“,”一个鼻子“,”两只眼睛“等。数据链路层

3)接下来,这些计算器那么多,全世界的计算器如果在地图上打点,看起来就像一个网。网络层,IP就在这一层。

4)有了这么多同一形态的怪物,人类就想,他们是不是可以像人类一样沟通呢?传输层,TCP在这一层。

5)沟通需要语言,有了语言,当然就能够会话了。会话层

6)能够对话了,又怕别人听到,这个时候怪物之间就用特殊的办法表达他们的会话。表示层

7)最后,能够对话,又不被窃听,那就随心所欲的应用他们各自的技能了。这个就是应用层,也就是OSI七层网络参考模型的最高层。HTTP、邮件、FTP等协议都在这里。

最后,如果有闲暇时间,建议听听业内人士的一些播客,了解行业动态,实现圈外到圈内的转变,国内2019年开始的播客,捕蛇者说(Python英语原文就是蟒蛇):

https://www.pythonhunter.org

英语好的推荐:

Talk Python To Me

https://talkpython.fm

以上,简述完毕,欢迎交流。

Python - Python的基础知识结构,学习方法、难点和重点的更多相关文章

  1. Python入门篇-基础语法

    Python入门篇-基础语法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.编程基础 1>.程序 一组能让计算机识别和执行的指令. 程序 >.算法+ 数据结构= 程 ...

  2. Python | Python语法基础

    目录 前言 1. 变量与简单数据结构 2. 列表相关 3. 集合 4. If语句 5. 字典 6. 用户输入和while循环 7. 函数 8. 类与对象 9. 文件 10. 异常 11. 测试 最后 ...

  3. [资料分享]Python视频教程(基础篇、进阶篇、项目篇)

    Python是一种开放源代码的脚本编程语言,这种脚本语言特别强调开发速度和代码的清晰程度.它可以用来开发各种程序,从简单的脚本任务到复杂的.面向对象的应用程序都有大显身手的地方.Python还被当作一 ...

  4. 给深度学习入门者的Python快速教程 - 基础篇

    实在搞不定博客园的排版,排版更佳的版本在: https://zhuanlan.zhihu.com/p/24162430 Life is short, you need Python 人生苦短,我用Py ...

  5. python学习day1--python基础

    Python的优缺点 先看优点 Python的定位是“优雅”.“明确”.“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂 ...

  6. Python学习入门基础教程(learning Python)--5.6 Python读文件操作高级

    前文5.2节和5.4节分别就Python下读文件操作做了基础性讲述和提升性介绍,但是仍有些问题,比如在5.4节里涉及到一个多次读文件的问题,实际上我们还没有完全阐述完毕,下面这个图片的问题在哪呢? 问 ...

  7. Python学习笔记基础篇——总览

    Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...

  8. Python 3 集合基础和概念!

    Python 3 集合基础和概念! Python 3中,集合是无序的,所以不能进行切片和索引操作. 创建集合有两个方法:set()方法创建的集合是可变的,可被迭代的:frozenset()方法创建的集 ...

  9. Day1 Python 介绍及基础

    ******************本文目录******************一.Pyhon基本介绍 1.Why Python? 2. Python 是一门什么样的语言? 3.Python的优缺点: ...

  10. [Python] 文科生零基础学编程系列二——数据类型、变量、常量的基础概念

    上一篇:[Python] 文科生零基础学编程系列--对象.集合.属性.方法的基本定义 下一篇: (仍先以最简单的Excel的VBA为例,语法与Python不同,但概念和逻辑需要理解透彻) p.p1 { ...

随机推荐

  1. Python第五章-内置数据结构05-集合

    Python内置数据结构 五.集合(set) python 还提供了另外一种数据类型:set. set用于包含一组无序的不重复对象.所以set中的元素有点像dict的key.这是set与 list的最 ...

  2. 强化学习之六:Deep Q-Network and Beyond

    本文是对Arthur Juliani在Medium平台发布的强化学习系列教程的个人中文翻译,该翻译是基于个人分享知识的目的进行的,欢迎交流!(This article is my personal t ...

  3. UTF-8 AND UTF-8 without BOM(遇到了这个问题 郁闷了会儿)

    两者的区别: Unicode规范中有一个BOM的概念.BOM——Byte Order Mark,就是字节序标记.在这里找到一段关于BOM的说明: 在UCS 编码中有一个叫做"ZERO WID ...

  4. 洛谷5026 Lycanthropy 差分套差分

    题目链接 https://www.luogu.com.cn/problem/P5026 题意 在一个长度为m的序列中,每次给一个下标x,和一个权值v,然后从x-v*3到x-v*2单调递增,从x-v*2 ...

  5. React入门(1)

    今天继续来学习react 首先,先写几个小demo来感受一下什么是react,以及react的语法规则,来建立对react的一个总体认识 上demo: demo01: demo01涉及的知识点有: 1 ...

  6. SublimeのJedi (自动补全)

    关于 Sublime 3 - Jedi Package 的设置和使用方法 我是一枚小白,安装后 Sublime 后,想在码字时,达到如下效果: 打字时,自动提示相关内容 按Tab键,相关内容自动填充 ...

  7. django中 对Mysql数据库的建表

    Django操作Mysql数据库: 1.1 在settings中,配置数据库相关参数,所以无需修改,这里我们看一下: DATABASES = { 'default': { # 这里可以指定使用的数据库 ...

  8. 模块 heapq_堆排序

    _heapq_堆排序 该模块提供了堆排序算法的实现.堆是二叉树,最大堆中父节点大于或等于两个子节点,最小堆父节点小于或等于两个子节点. 创建堆 heapq有两种方式创建堆, 一种是使用一个空列表,然后 ...

  9. 一文彻底读懂MySQL事务的四大隔离级别

    前言 之前分析一个死锁问题,发现自己对数据库隔离级别理解还不够清楚,所以趁着这几天假期,整理一下MySQL事务的四大隔离级别相关知识,希望对大家有帮助~ 事务 什么是事务? 事务,由一个有限的数据库操 ...

  10. Java数据类型与mysql对应表