知乎百万热议:python到底是自学好还是报班好_学python自学还是报班(2)

元组的使用 - 定义元组 / 使用元组中的值 / 修改元组变量 / 元组和列表转换

集合基本用法 - 集合和列表的区别 / 创建集合 / 添加元素 / 删除元素 / 清空

集合常用操作 - 交集 / 并集 / 差集 / 对称差 / 子集 / 超集

字典的基本用法 - 字典的特点 / 创建字典 / 添加元素 / 删除元素 / 取值 / 清空

字典常用操作 - keys()方法 / values()方法 / items()方法 / setdefault()方法

基础练习 - 跑马灯效果 / 列表找最大元素 / 统计考试成绩的平均分 / Fibonacci数列 / 杨辉三角

综合案例 - 双色球选号 / 井字棋

Day08 - 面向对象编程基础

类和对象 - 什么是类 / 什么是对象 / 面向对象其他相关概念

定义类 - 基本结构 / 属性和方法 / 构造器 / 析构器 / str方法

使用对象 - 创建对象 / 给对象发消息

面向对象的四大支柱 - 抽象 / 封装 / 继承 / 多态

基础练习 - 定义学生类 / 定义时钟类 / 定义图形类 / 定义汽车类

Day09 - 面向对象进阶

属性 - 类属性 / 实例属性 / 属性访问器 / 属性修改器 / 属性删除器 / 使用slots

类中的方法 - 实例方法 / 类方法 / 静态方法

运算符重载 - add / sub / or /getitem / setitem / len / repr / gt / lt / le / ge / eq / ne / contains

类(的对象)之间的关系 - 关联 / 继承 / 依赖

继承和多态 - 什么是继承 / 继承的语法 / 调用父类方法 / 方法重写 / 类型判定 / 多重继承 / 菱形继承(钻石继承)和C3算法

综合案例 - 工资结算系统 / 图书自动折扣系统 / 自定义分数类

Day10 - 图形用户界面和游戏开发

使用tkinter开发GUI

使用pygame三方库开发游戏应用

“大球吃小球”游戏

Day11 - 文件和异常

  • 读文件 - 读取整个文件 / 逐行读取 / 文件路径
  • 写文件 - 覆盖写入 / 追加写入 / 文本文件 / 二进制文件
  • 异常处理 - 异常机制的重要性 / try-except代码块 / else代码块 / finally代码块 / 内置异常类型 / 异常栈 / raise语句
  • 数据持久化 - CSV文件概述 / csv模块的应用 / JSON数据格式 / json模块的应用

Day12 - 字符串和正则表达式

  • 字符串高级操作 - 转义字符 / 原始字符串 / 多行字符串 / in和 not in运算符 / is开头的方法 / join和split方法 / strip相关方法 / pyperclip模块 / 不变字符串和可变字符串 / StringIO的使用
  • 正则表达式入门 - 正则表达式的作用 / 元字符 / 转义 / 量词 / 分组 / 零宽断言 /贪婪匹配与惰性匹配懒惰 / 使用re模块实现正则表达式操作(匹配、搜索、替换、捕获)
  • 使用正则表达式 - re模块 / compile函数 / group和groups方法 / match方法 / search方法 / findall和finditer方法 / sub和subn方法 / split方法
  • 应用案例 - 使用正则表达式验证输入的字符串

Day13 - 进程和线程

  • 进程和线程的概念 - 什么是进程 / 什么是线程 / 多线程的应用场景
  • 使用进程 - fork函数 / multiprocessing模块 / 进程池 / 进程间通信
  • 使用线程 - thread模块 / threading模块 / Thread类 / Lock类 / Condition类 / 线程池

Day14 - 网络编程入门和网络应用开发

  • 计算机网络基础 - 计算机网络发展史 / “TCP-IP”模型 / IP地址 / 端口 / 协议 / 其他相关概念
  • 网络应用模式 - “客户端-服务器”模式 / “浏览器-服务器”模式
  • 基于HTTP协议访问网络资源 - 网络API概述 / 访问URL / requests模块 / 解析JSON格式数据
  • Python网络编程 - 套接字的概念 / socket模块 / socket函数 / 创建TCP服务器 / 创建TCP客户端 / 创建UDP服务器 / 创建UDP客户端 / SocketServer模块
  • 电子邮件 - SMTP协议 / POP3协议 / IMAP协议 / smtplib模块 / poplib模块 / imaplib模块
  • 短信服务 - 调用短信服务网关

Day15 - 图像和文档处理

  • 用Pillow处理图片 - 图片读写 / 图片合成 / 几何变换 / 色彩转换 / 滤镜效果
  • 读写Word文档 - 文本内容的处理 / 段落 / 页眉和页脚 / 样式的处理
  • 读写Excel文件 - xlrd模块 / xlwt模块
  • 生成PDF文件 - pypdf2模块 / reportlab模块

Day16~Day20 - Python语言进阶

  • 常用数据结构
  • 函数的高级用法 - “一等公民” / 高阶函数 / Lambda函数 / 作用域和闭包 / 装饰器
  • 面向对象高级知识 - “三大支柱” / 类与类之间的关系 / 垃圾回收 / 魔术属性和方法 / 混入 / 元类 / 面向对象设计原则 / GoF设计模式
  • 迭代器和生成器 - 相关魔术方法 / 创建生成器的两种方式 /
  • 并发和异步编程 - 多线程 / 多进程 / 异步IO / async和await
Day21~30 - Web前端入门
  • 用HTML标签承载页面内容
  • 用CSS渲染页面
  • 用JavaScript处理交互式行为
  • jQuery入门和提高
  • Vue.js入门
  • Element的使用
  • Bootstrap的使用
Day31~35 - 玩转Linux操作系统
  • 操作系统发展史和Linux概述
  • Linux基础命令
  • Linux中的实用程序
  • Linux的文件系统
  • Vim编辑器的应用
  • 环境变量和Shell编程
  • 软件的安装和服务的配置
  • 网络访问和管理
  • 其他相关内容
Day36~40 - 数据库基础和进阶
  • 关系型数据库MySQL
    • 关系型数据库概述
      • MySQL的安装和使用
      • SQL的使用
        • DDL - 数据定义语言 - create / drop / alter
          • DML - 数据操作语言 - insert / delete / update / select
          • DCL - 数据控制语言 - grant / revoke
    • 相关知识
        • 范式理论 - 设计二维表的指导思想
          • 数据完整性
          • 数据一致性
    • 在Python中操作MySQL
  • NoSQL入门
    • NoSQL概述
      • Redis概述
      • Mongo概述
Day41~55 - 实战Django

Day41 - 快速上手

  • Web应用工作原理和HTTP协议
  • Django框架概述
  • 5分钟快速上手
  • 使用视图模板

Day42 - 深入模型

  • 关系型数据库配置
  • 管理后台的使用
  • 使用ORM完成对模型的CRUD操作
  • Django模型最佳实践
  • 模型定义参考

Day43 - 静态资源和Ajax请求

  • 加载静态资源
  • 用Ajax请求获取数据

Day44 - 表单的应用

  • 表单和表单控件
  • 跨站请求伪造和CSRF令牌
  • Form和ModelForm
  • 表单验证

Day45 - Cookie和Session

  • 实现用户跟踪
  • cookie和session的关系
  • Django框架对session的支持
  • 视图函数中的cookie读写操作

Day46 - 报表和日志

  • 通过HttpResponse修改响应头
  • 使用StreamingHttpResponse处理大文件
  • 使用xlwt生成Excel报表
  • 使用reportlab生成PDF报表
  • 使用ECharts生成前端图表
  • 配置日志和Django-Debug-Toolbar

Day47 - 中间件的应用

  • 什么是中间件
  • Django框架内置的中间件
  • 自定义中间件及其应用场景

Day48 - 前后端分离开发入门

  • 返回JSON格式的数据
  • 用Vue.js渲染页面

Day49 - RESTful架构和DRF入门 Day50 - RESTful架构和DRF进阶 Day51 - 使用缓存

  • 网站优化第一定律
  • 在Django项目中使用Redis提供缓存服务
  • 在视图函数中读写缓存
  • 使用装饰器实现页面缓存
  • 为数据接口提供缓存服务

Day52 - 文件上传和富文本编辑

  • 文件上传表单控件和图片文件预览
  • 服务器端如何处理上传的文件
  • 富文本编辑器概述
  • wangEditor的使用

Day53 - 短信和邮件

  • 常用短信网关平台介绍
  • 使用螺丝帽发送短信
  • Django框架对邮件服务的支持

Day54 - 异步任务和定时任务

  • 网站优化第二定律
  • 配置消息队列服务
  • 在项目中使用celery实现任务异步化
  • 在项目中使用celery实现定时任务

Day55 - 单元测试和项目上线

  • Python中的单元测试
  • Django框架对单元测试的支持
  • 使用版本控制系统
  • 配置和使用uWSGI
  • 动静分离和Nginx配置
  • 配置HTTPS
Day56~60 - 实战Flask

Day56 - Flask入门 Day57 - 模板的使用 Day58 - 表单的处理 Day59 - 数据库操作 Day60 - 项目实战

Day61~65 - 实战Tornado

Day61 - 预备知识

  • 并发编程
  • I/O模式和事件驱动

Day62 - Tornado入门

  • Tornado概述
  • 5分钟上手Tornado
  • 路由解析
  • 请求处理器

Day63 - 异步化

  • aiomysql和aioredis的使用

Day64 - WebSocket的应用

  • WebSocket简介
  • WebSocket服务器端编程
  • WebSocket客户端编程
  • 项目:Web聊天室

Day65 - 项目实战

  • 前后端分离开发和接口文档的撰写
  • 使用Vue.js实现前端渲染
  • 使用ECharts实现报表功能
  • 使用WebSocket实现推送服务
Day66~75 - 爬虫开发

Day66 - 网络爬虫和相关工具

  • 网络爬虫的概念及其应用领域
  • 网络爬虫的合法性探讨
  • 开发网络爬虫的相关工具
  • 一个爬虫程序的构成

Day67 - 数据采集和解析

  • 数据采集的标准和三方库
  • 页面解析的三种方式:正则表达式解析 / XPath解析 / CSS选择器解析

Day68 - 存储数据

  • 如何存储海量数据
  • 实现数据的缓存

Day69 - 并发下载

  • 多线程和多进程
  • 异步I/O和协程
  • async和await关键字的使用
  • 三方库aiohttp的应用

Day70 - 解析动态内容

  • JavaScript逆向工程
  • 使用Selenium获取动态内容

Day71 - 表单交互和验证码处理

  • 自动提交表单
  • Cookie池的应用
  • 验证码处理

Day72 - Scrapy入门

  • Scrapy爬虫框架概述
  • 安装和使用Scrapy

Day73 - Scrapy高级应用

  • Spider的用法
  • 中间件的应用:下载中间件 / 蜘蛛中间件
  • Scrapy对接Selenium抓取动态内容
  • Scrapy部署到Docker

Day74 - Scrapy分布式实现

  • 分布式爬虫的原理
  • Scrapy分布式实现
  • 使用Scrapyd实现分布式部署

Day75 - 爬虫项目实战

  • 爬取招聘网站数据
  • 爬取房地产行业数据
  • 爬取二手车交易平台数据
Day76~90 - 数据处理和机器学习

Day76 - 机器学习基础
Day77 - Pandas的应用
Day78 - NumPy和SciPy的应用
Day79 - Matplotlib和数据可视化
Day80 - k最近邻(KNN)分类
Day81 - 决策树
Day82 - 贝叶斯分类
Day83 - 支持向量机(SVM)
Day84 - K-均值聚类
Day85 - 回归分析
Day86 - 大数据分析入门
Day87 - 大数据分析进阶
Day88 - Tensorflow入门
Day89 - Tensorflow实战
Day90 - 推荐系统

Day91~100 - 团队项目开发

第91天:团队项目开发准备

  1. 软件过程模型
  • 经典过程模型(瀑布模型)
    • 可行性分析(研究做还是不做),输出《可行性分析报告》。
      • 需求分析(研究做什么),输出《需求规格说明书》和产品界面原型图。
      • 概要设计和详细设计,输出概念模型图、物理模型图、类图、时序图等。
      • 编码 / 测试。
      • 上线 / 维护。
    • 敏捷开发(Scrum)- 产品所有者、Scrum Master、研发人员 - Sprint
        • 产品的Backlog(用户故事、产品原型)。
          • 计划会议(评估和预算)。
          • 日常开发(站立会议、番茄工作法、结对编程、测试先行、代码重构……)。
          • 修复bug(问题描述、重现步骤、测试人员、被指派人)。
          • 评审会议(Showcase)。
          • 回顾会议(当前周期做得好和不好的地方)。

补充:敏捷软件开发宣言

  • 个体和互动 高于 流程和工具

    • 工作的软件 高于 详尽的文档
    • 客户合作 高于 合同谈判
    • 响应变化 高于 遵循计划

另外,进步最大的阶段,还是学校安排做项目实训的时候,同学们几人一组,组成开发团队,然后分析项目,划分任务,根据平时所学,进行实战。会给大家提前进入职场的感觉,当然过程中会遇到大大小小的问题,同学们一起商量,互相帮助,最后项目成型以后,真的是觉得很有成就感,进步也是最快的。

在整个学习过程当中,我是没有碰到什么瓶颈的,因为我的学习习惯就是不去积压问题,发现不清楚的点,第一时间去解决,所以学起来没有多困难。通过这半年的学习,除了专业技能的明显提升以外,家人都说我比之前更懂事了,生活也变得更规律,对时间和知识的管理更加的完善,对于我个人来说,的确变化很大。

python刷题

下面是学校帮我们总结的各个大公司还有小公司python相关的面试题。我也认认真真全部刷完了,篇幅原因,答案没有列出来。感兴趣的朋友,可以扫描下方二维码,前往免费领取!
在这里插入图片描述

一、Python 基础

(一) Python 基础语法

  1. Python有哪些特点和优点?
  2. 简述解释型和编译型编程语言?
  3. Python解释器种类以及特点
  4. python常见的PEP8规范
  5. 通过代码实现如下进制转换
  6. 三元运算规则以及应用场景
  7. 列举 Python2和Python3的区别【Python基础语法】
  8. is和==的区别
  9. try except用法和作用
  10. Python LEGB规则
  11. python简单的列表去重
  12. 区分break,continue和pass?
  13. 什么是python迭代器?
  14. 如何在python中写注释?
  15. 如何在python中注释多行?
  16. 什么是Python中的文档Docstrings?
  17. Python是通用编程语言吗?
  18. Python是如何解释语言的?
  19. 什么是pep?
  20. Python中的命名空间是什么?
  21. 什么是PYTHONPATH?
  22. Python中的局部变量和全局变量是什么?
  23. python是否区分大小写?
  24. 如何在Windows上安装Python并设置路径变量?
  25. python中是否需要缩进?
  26. 列举布尔值为False的常见值
  27. 怎样声明多个变量并赋值?
  28. 其中哪一个是floor division?
  29. 标识符的最大可能长度是多少?
  30. 为什么不鼓励以下划线开头的局部变量名?
  31. 以下哪项是无效声明?
  32. 以下哪项是无效声明?
  33. 以下是什么输出?
  34. a=1, b=2, 不用中间变量交换a和b的值.
  35. 请写出打印结果
  36. A、B两人分别在两座岛上。B生病了,A有B所需要的药。C有一艘小船和一个可以上锁的箱子。C愿意在A和B之间运东西,但东西只能放在箱子里。只要箱子没被上锁,C都会偷走箱子里的东西,不管箱子里有什么。如果A和B各自有一把锁和只能开自己那把锁的钥匙,A应该如何把东西安全递交给B?
  37. 有25匹马,速度都不同,但每匹马的速度都是定值。现在只有5条赛道,无法计时,即每赛一场最多只能知道5匹马的相对快慢。问最少赛几场可以找出25匹马中速度最快的前3名?
  38. 介绍一下except的用法和作用?
  39. Python中pass语句的作用是什么?
  40. 单引号,双引号,三引号的区别
  41. 浮点数运算
  42. 介绍一下except的用法和作用?
  43. Python中pass语句的作用是什么?
  44. 反转一个整数,例如-123 --> -321
  45. 一行代码实现1-100之和
  46. Python-遍历列表时删除元素的正确做法
  47. 字符串 “123” 转换成 123,不使用内置api,例如 int()
  48. 求出列表所有奇数并构造新列表
  49. 用一行python代码写出1+2+3+10248
  50. python常见的列表推导式?
  51. Python中pass语句的作用是什么?
  52. 如何交换两个变量的值?
  53. Python中pass语句的作用是什么?
  54. Python区分大小写吗?
  55. Python中的标识符长度能有多长?
  56. Python中的pass语句是什么?
  57. 解释一下Python中的//,%和 ** 运算符
  58. 在Python中有多少种运算符?解释一下算数运算符。
  59. 解释一下Python中的关系运算符
  60. 解释一下Python中的赋值运算符
  61. 解释一下Python中的逻辑运算符
  62. 解释一下Python中的成员运算符
  63. 解释一下Python中的身份运算符
  64. 讲讲Python中的位运算符
  65. 在Python中如何使用多进制数字?
  66. 怎样声明多个变量并赋值?
  67. PYTHONPATH变量是什么?
  68. 在Python中如何声明一条注释?
  69. 什么是Python中的连接(concatenation)?
  70. 请用一行代码 实现将1-N 的整数列表以3为单位分组
  71. 避免转义给字符串加哪个字母表示原始字符串?
  72. X是什么类型?
  73. 单引号、双引号、三引号用法
  74. int(“1.4”),int(1.4)输出结果?
  75. 列举3条以上PEP8编码规范
  76. IOError、AttributeError、ImportError、IndentationError、IndexError、KeyError、SyntaxError、NameError分别代表什么异常
  77. 递归求和
  78. 介绍一下except的用法和作用?
  79. Python中pass语句的作用是什么?
  80. Json序列化时,默认遇到中文会转换成unicode,如果想要保留中文怎么办?
  81. Python写9*9乘法表的两种简单方法

(二) 文件操作

  1. 大数据的文件读取
  2. 在python中编译和链接的过程是什么?
  3. 请写一个Python逻辑,计算一个文件中的大写字母数量
  4. 介绍一下except的用法和作用?
  5. 要打开文件c:\ scores.txt进行编写,我们使用:
  6. 以下是什么输出?
  7. 何时执行try-except-else的else部分?
  8. 简述with方法打开处理文件帮我我们做了什么?
  9. 用python删除文件和用linux命令删除文件方法
  10. 写一段自定义异常代码
  11. 举例说明异常模块中try except else finally的相关意义
  12. IOError、AttributeError、ImportError、IndentationError、IndexError、KeyError、SyntaxError、NameError分别代表什么异常
  13. r、r+、rb、rb+文件打开模式区别
  14. 深拷贝和浅拷贝之间的区别是什么?
  15. 请写一个Python逻辑,计算一个文件中的大写字母数量
  16. 如何用Python找出你目前在哪个目录?
  17. 如何以相反顺序展示一个文件的内容?
  18. 4G 内存怎么读取一个 5G 的数据?
  19. 说明一下 os.path 和 sys.path 分别代表什么?
  20. Python 中的 os 模块常见方法?
  21. python的read() 、readline()、readlines()、xreadlines()
  22. 使用代码实现查看列举目录下的所有文件
  23. 如何在Python中删除文件?
  24. 设计实现遍历目录与子目录,抓取.pyc文件
  25. 简述read、readline、readlines的区别?
  26. 用python删除文件和用linux命令删除文件方法
  27. 简述with方法打开处理文件帮我我们做了什么?
  28. 写一段自定义异常代码

(三) 模块与包

  1. 深拷贝和浅拷贝的区别是什么?
  2. 如何在Python中随机化列表中的项目?
  3. 如何用Python来发送邮件?
  4. Python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)
  5. Python里面如何生成随机数?
  6. 介绍一下Python中webbrowser的用法?
  7. 有没有一个工具可以帮助查找python的bug和进行静态的代码分析?
  8. 列出5个python标准库
  9. 利用collections库的Counter方法统计字符串每个单词出现的次数"kjalfj;ldsjafl;hdsllfdhg;lahfbl;hl;ahlf;h"
  10. 生成0-100的随机数
  11. 如何在Python中创建自己的包?
  12. 常用的 Python 标准库都有哪些?
  13. 输入某年某月某日,判断这一天是这一年的第几天?(可以用 Python 标准库)
  14. Python的 sys 模块常用方法?
  15. Python里面如何拷贝一个对象?
  16. 简述Python的深浅拷贝以及应用场景
  17. 如何安装第三方模块?以及用过哪些第三方模块?
  18. 常用模块都有那些?
  19. 什么是python模块?Python中有哪些常用的内置模块?
  20. 如何在Python中生成随机数?
  21. range&xrange有什么区别?
  22. Python里面如何生成随机数?

现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。

分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 10
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值