一、前言
今天和大家分享一套python基础的学习路线,从入门到掌握。学完能用python解决90%逻辑上的问题。在这之前大家可以购买《python从入门到实践》第二版(这里并不是打广告昂,也没人给我广告费,是真的觉得这本书还可以)。可以结合这本书,然后收藏我下面列出的学习计划,一定可以学有所成滴。
二、计划
接上一篇计划继续分享
在这里我们需要深刻理解面向对象设计思想,因为python是一门解释型语言,和java类似。拥有面向对象的几大特性:封装、继承、多态、抽象。在python的世界里,万物皆对象,所以一定要透彻理解面向对象编程的核心思想,以及面向对象和面向过程的区别、应用场景。
Day11:
1.掌握自定义模块的导入(import,from xxx import xxx)
2.掌握calendar模块(该模块专门有万年历,第九天万年历没写出来的可以ctrl点进去看看源码)
3.掌握string模块
4.掌握datatime模块
5.掌握time模块
6.掌握os模块
7.掌握collections模块
注意:2~7都是python IDE自带的模块,也叫做内置模块。不是pip install xxx的第三方模块
练习题:
1、自定义一个模块,其中封装不同的函数,包括冒泡排序,选择排序,二分法查找,在测试文件中导入模块调用函数。
2、封装一个函数,获取指定路径下所有的视频文件,如:mp4,mov,avi,flv,wmv,rmvb。
3、封装一个函数,在当前工程下创建一个文件夹,在该文件夹下生成20个jpg文件,文件名为字母和数字的随机数,生成之后再将20个文件的后缀更改为png。
Day12:
1.掌握类的定义
2.掌握类中的成员的定义和访问(特征、行为)
3.掌握实例属性的动态绑定
4.掌握实例属性和类属性
5.掌握析构函数的使用
6.深刻理解类、类对象、类实例对象
练习题:
1、分别定义Circle(圆)类和点(Point)类,计算该圆的周长和面积,并判断某点与该圆的关系。
2、创建一个People类,属性有姓名name,年龄age,性别gender,拥有的方法为砍柴,娶媳妇,回家;实例化对象,执行相应的方法。
Day13:
1.掌握属性私有化
2.掌握继承的原理
3.掌握单继承的使用方法
4.掌握继承中的__slots__的使用
5.掌握继承者类属性的变换
6.掌握多继承的使用方法
练习题:
"""
家具类(HouseItem) 有 名字 和 占地面积属性,其中
- 席梦思(bed) 占地 4 平米
- 衣柜(chest) 占地 2 平米
- 餐桌(table) 占地 1.5 平米
房子类(House) 有 户型、总面积 、剩余面积 和 家具名称列表 属性
- 新房子没有任何的家具
- 将 家具的名称 追加到 家具名称列表 中
- 判断 家具的面积 是否 超过剩余面积,如果超过,提示不能添加这件家具
a.将以上三件 家具对象 添加 到 房子对象 中
b.打印房子时,要求输出:户型、总面积、剩余面积、家具名称列表
使用面向对象思想,编码完成上述功能。
"""
"""
学生类Student:
属性:学号,姓名,年龄,性别,成绩
班级类 Grade:
属性:班级名称,班级中的学生 【使用列表存储学生】
方法:
1.查看该班级中的所有学生的信息
2.查看指定学号的学生信息
3.查看班级中成绩不及格的学生信息
4.将班级中的学生按照成绩降序排序
"""
Day14:
注意:在学完继承的前提下去理解
1.掌握函数的重写
2.掌握运算符的重载
3.掌握多态的使用
4.掌握对象常用的内置函数
5.掌握对象常用的内置属性
6.掌握静态函数和类函数
7.掌握单例设计模式(单例类)
练习题:
1、写一个计算器工具类Calculator,可以进行加、减、乘、除计算(程序员必经之路,手撕计算器)
'''
需求:
1).士兵瑞恩有一把AK47
2).士兵可以开火(士兵开火扣动的是扳机)
3).枪 能够 发射子弹(把子弹发射出去)
4).枪 能够 装填子弹 --增加子弹的数量
**从上面的语境中提取对象的属性,方法 ,进而声明类完成需求对应的操作**
'''
'''
两个类:
一.枪
1.两个属性--->型号、子弹数量,给默认的
2.两个行为--->发弹、装弹
二.士兵
1.一个属性--->姓名、枪的型号
2.一个行为--->开火
'''
温馨提示:学到这里其实是有一定难度的,一是对需求的理解能力,二十对面向对象思想的检验。如果你不会写也没有关系,但至少逻辑要通。哪些是类、哪些是属性、哪些是方法、哪些是对象,能够口头表达代码逻辑也可以。
Day15:
1、掌握抽象类(abc模块)
2、掌握文件的读取
3、掌握文件的写入
4、掌握文件内容的拷贝
5、掌握with上下文(__enter__,__exit__,着重理解)
6、掌握常用二进制文件的读取和写入
7、掌握csv文件的读取和写入
8、掌握pickle、csv模块的使用
练习题:
1、对一个文件进行读写操作,并灵活运用。
第三篇的分享到这儿就结束了,这一周是我认为学习过程中最难的一周,掌握不完全的朋友不要气馁,面向对象的思想需要一个消化的过程、循循渐进去感受这种把周围场景和业务用易语言(口头代码)描述出来,相信你们可以感觉到的,还有最后一周,坚持就是胜利,我们下一篇见。