查看原文
其他

经验之谈——大学时候,我是如何零基础自学Python的?

王小亮 大数据技术派 2022-10-15


这几年Python越来越火,对于大部分来说刚开始学Python时,面对网上各种各样的学习资料却不知道从何学起。其实Python是一个对初学者相对而言比较友好的编程语言,语法也比较简洁。下面我整理了一下自己在学习Pyhon过程中的一些重要知识点,希望可以帮到正在学习或者准备学习的同学!


1、初级阶段


你可能从哪里了解到Python的历史、优缺点以及它的应用领域或者说就业环境,或者说出于个人爱好,下定决心去学习Python。


开始你之前,首先你需要有一个能运行Python代码的环境,无论Windows、Mac、Linux系统都可以从官网上下载到相应的安装包。配置好环境之后,还需要一个包管理工具,即pip。它提供对Python包的查找、下载、安装、卸载等功能。如果后期你的项目比较多,每个项目之间用到的包的版本可能不一样,为了防止互相影响。可以选择去安装virtualenv。它可以用来创建Python的虚拟环境库,是独立于真实环境存在的。可以创建多个虚拟环境。每一个虚拟环境可以当做是一个纯净版的开发环境。其次就是选一个适合自己的IDE,比如:PyCharm、Eclipse、VSCODE、Atom、Sublime、Emacs等等。这里推荐PyCharm,个人感觉唯一缺点就是比较重,其他功能都是非常不错的。

一门语言的学习都是从最基础的开始,而一切的发展都是要有一个夯实的基础。乔丹曾说过:“基本功是我立足NBA的根本,我取得的任何成绩都可以归功为我所练就的基本功。


1、基础篇

变量和类型 

  • 变量的命名
  • 变量的使用
  • 类型的查询
  • 类型转换


数字和字符串以及常用的数据结构

  • 整数

  • 浮点数

  • 复数

  • 字符串

  • 字符串的操作

  • 字符编码

  • 列表的使用:列表的定义、元素的增删改查、切片、遍历、下标越界

  • 元组的使用:元组的定义、元组与列表的转换、元组的特征等

  • 集合的使用:集合的定义、与列表的区别。常用操作:交集、并集、差集等

  • 字典的使用:字典的定义、字典的增删改查、删除key、遍历


运算符 

  • 算数运算符 :+ 、- 、* 、 /、 %、 **、 //

  • 比较运算符 :== 、!= 、<>、> 、< 、>= 、 <= 

  • 赋值运算符 :  =、 += 、-= 、*=、 /= 、%=、**=、 //=

  • 逻辑运算符 :  and、not 、or

  • 位运算 : & 、| 、 ^、 ~ 、<< 、 >> 

  • 成员运算符:in、not in

  • 身份运算符:is、 is not

  • 运算符优先级


分支结构
  • 代码之间的缩进
  • if-else
  • if-elif-else
  • 嵌套if(else、elif)


 循环结构

  • for循环

  • while循环

  • continu关键字

  • break关键字

  • return关键字



函数与模块的使用

  • 函数的作用

  • def语句

  • 函数中的列表

  • 魔法参数

  • 函数的调用

  • 函数的返回值(无返回值、多个返回值、单个返回值)

  • import,from ... import .. , from import ..as 


面向对象


  • 理解面向对象

  • 面向对象的搜歌特征:抽象、封装、继承、多态

  • 什么是类

  • 类的创建、初始化、实例化

  • 属性访问

  • 类的继承

  • 调用父类的方法

  • 内置类属性



文件的操作


  • open() 函数

  • 读文件的方法:read()、readline()、readlines()

  • 文件的路径

  • 写文件:覆盖、追加

  • 异常处理(try..except..finally) :FileNotFoundException...

  • with..open

  • 存储&读取JSON格式数据:json.dump()和json.load()

  • 数据持久化:操作csv、excel


进程与线程

  • 进程:multiprocessing模块、进程池、进程间的通信

  • 线程:thread模块、threading模块、Lock类、Condition类、Thread类、线程池

  • 线程和进程的关系以及区别

  • 并行和并发

  • 同步和异步

  • 创建多线程


其他补充

  • 熟悉常用的模块,如re、os、sys、datetime、time、math等..

  • lambda函数

  • 装饰器

  • 生成器

  • 迭代器

  • 魔法函数

  • 计算机网络

  • 协议:http协议、tcp协议、udp协议等


2、进阶


Web开发

  • 同步框架:Django、Flask

  • 异步框架:Tornado、Sanic

  • Tornado框架

  • Git版本控制

  • HTTP方法以及响应码

  • 关系型数据库:MySQL、PostgreSQL、Oracle
  • 非关系型数据库:Redis、Mongo
  • 日志
  • 项目的部署
  • 实战练习


爬虫


  • 爬虫应用领域

  • 爬虫的合法性:Robots.txt

  • HTTP请求:请求行、请求头,请求体

  • 响应:响应码、响应头、响应体

  • 相关工具:Chrome Developer Tools、PostMan、Httpie、BuiltWith

  • 网络请求模块:urllib、requests

  • 数据提取:正则、XPath、Beautiful Soup、pyquery

  • 数据持久化

  • 并发下载:aiohttp、async、await、异步I/O 、协程

  • 其他:框架(Scrapy)、Selenium



数据分析

  • 数据整理库:Pandas、Numpy库

  • 数据可视化:matplotlib库、pycharts库


以上讲了一下我在学习Python过程中整理的一些知识点。学习是一个循序渐进的过程,学习一个新技术,如果你只是去啃一本技术书籍,或者认认真真去看视频。完了你会发现你依旧写不出代码!所以建议大家在学习的过程中多敲代码。万虐终成神!敲代码,解决BUG才是学习 !


猜你可能喜欢

《金瓶梅》怎么样,Python词云分析告诉您?

女朋友心思能猜得到吗?—马尔可夫链

Python批量删除mysql中千万级大量数据

PyCharm 2019专业版激活

堆排序算法


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存