本周主要结束了Python第一阶段基础知识的学习,开始进入到第二阶段面向对象的学习,同时完成了每周的算法任务。
目录
异常
Python基础综合案例
通过对综合案例的学习来巩固前面所学习的基础知识。
折线图可视化
JSON数据格式
1.JSON是一种轻量级的数据交互格式。可以按照JSON指定的格式取组织和封装数据。
2.JSON本质上是一个带有特定格式的字符串。
3.功能:JSON就是一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递和交互。所以JSON可以直接和python的字典或列表进行无缝衔接。
4.通过json.dumps(date)方法把python数据转化为了json数据,如果有中文可以带上:ensure_ascii=False参数来确保中文正常转换。
5.通过json.loads(date)方法把json数据转化为了python列表或字典。
pyecharts模块
1.借助pyecharts模块可以做出数据可视化效果图。
2.安装:使用前面学过的pip命令即可快速安装pyecharts模块。
3.使用:利用pyecharts包绘制一周的最高气温变化图如下:(要注意大小写)
4.pyecharts模块中的配置选项:全局配置选项和系列配置选项。
5.全局配置选项可以通过set_global_opts方法来进行配置。
下面是一个给折线图添加标题的操作,其他的配置选项可以在pyecharts官网里查询。
地图可视化
动态柱状图
基础柱状图
1.通过Bar()构建基础柱状图。
2.和折线图一样,通过add_xaxis()和add_yaxis()添加x和y轴数据。
3.通过柱状图对象的:reversal_axis(),反转x和y轴。
4.通过label_opts=labelOpts(position="right")设置数值标签在右侧显示。
根据下面这串代码,将绘制的一周气温折线图绘制成柱状图如下:
将x轴与y轴翻转如下:
时间线柱状图
1.Timeline()—时间线,时间线就是创建一个一维的x轴,轴上的每一个点就是一个图表对象。
2.根据以下代码绘制简单的两周气温变化图如下:
第一周:
第二周:
如果想添加自动播放功能,则加入以下代码即可。
如果想改变柱体颜色,加入以下代码即可。
GDP动态柱状图
1.列表的sort方法。之前学习过的sorted函数可以对数据容器进行排序。在后面的数据处理中,我们需要对列表进行排序,并按照指定排序规则,sorted就无法完成了,因此需要学习列表的sort方法。其使用方式如下:
列表.sort(key=选择排序依据的函数,reversal=True|False)
- 参数key,是要求传入一个函数,表示将列表的每一个元素都传入函数中,返回排序的依据。
- 参数reverse,是否反转排序的结果,Ture表示降序,False表示升序。
带函数名形式:
匿名lambda形式:
面向对象
初始对象
1.使用对象组织数据
- 在程序中打印表格,我们称之为设计类(class)
class Student:
name=None
- 在程序中打印生产表格,我们称之为创建对象
stu_1=Student()
stu_2=Student()
- 在程序中填写表格,我们称之为对象属性赋值
stu_1.name="Tom"
stu_2.name="Jack"
类的定义和使用
1.类的使用语法:
class 类名称:
类的属性
类的行为
- class是关键字,表示要定义类了
- 类的属性,即定义在类中的变量(成员变量)
- 类的行为,即定义在类中的函数(成员方法)
2.创建类对象的语法:对象=类名称()
3.成员方法的定义语法:
def 方法名(self,形参1,......,形参N):
方法体
- self关键字是成员方法定义时必须要填写的,它用来表示类对象自身的意思
- 当我们使用类对象调用方法的时候,self会自动被python传入
- 在方法内部,想要访问类的成员变量,必须使用self
想在成员方法内访问成员变量,必须使用self.才能够访问到,访问外部传入的参数直接用即可。
类和对象
1.现实世界的事物由属性和行为组成。
2.类也可以包含属性和行为,所以使用类描述现实世界事物是非常合适的。
3.类是程序中的“设计图纸”,对象是基于图纸生产的具体实体。
4.面向对象编程就是使用对象进行编程,即设计类,基于类创建对象,并使用对象来完成集体的工作。
根据学过的内容简单设计一个闹钟,代码如下:
构造方法
1.python类可以使用__init__()方法,称之为构造方法。可以实现:
- 在创建类对象(构造类)的时候,会自动执行。
- 在创建类对象(构造类)的时候,将传入参数自动传递给_init_方法使用。
2.init前后都有2个下划线
3.构造方法也是成员方法,不要忘记在参数列表中提供:self
4.在方法内使用成员变量需要使用self
魔术方法
__str__字符串方法
1.当类对象需要被转换为字符串时,会输出内存地址。
2.内存地址没有多大作用,我们可以通过__str__方法,控制类转换为字符串的行为。
__lt__小于符号比较方法
直接对两个对象进行比较是不可以的,但是在类中实现__lt__方法,即可同时完成:小于符号和大于符号2种比较。
__le__小于等于比较符号方法
魔术方法:__le__可用于:<=、>=两种比较运算符上。
__eq__比较运算符实现方法
- 不实现__eq__方法,对象之间可以比较,但是是比较内存地址,也即是:不同对象==比较一定是False结果。
- 实现了__eq__方法,就可以按照自己的想法来决定2个对象是否相等了。
封装
1.封装是指将现实世界事物在类中描述为属性和方法,即为封装。
2.现实事物有部分属性和行为是不公开对使用者开放的。同样在类中描述属性和方法的时候也需要达到这个要求,就需要定义私有成员了。
3.成员变量和成员方法的命名均以__作为开头即可。
4.类对象无法访问私有成员,类中的其他成员可以访问私有成员。