数据分析学习笔记—python面向对象与模块
文章目录
- 一、python面向对象与模块思维导图
- 二、补充说明:对象的属性和方法
- 1、属性的概念
- 2、方法的概念
- 3、实例理解
- 4、init方法
- 三、补充说明:继承的种类
- 1、单继承
- 2、多继承
- 四、补充说明:模块之自定义模块
- 1、自定义模块的定义、创建
- 2、保存自定义功能模块,以jupyter Notebook为例
- 3、关于 if __name__ == '__main__' 看代码片的注解有
一、python面向对象与模块思维导图
二、补充说明:对象的属性和方法
1、属性的概念
属性就是展示对象的形态,比如学生是一个对象,学生的名字,学生的年龄,学生的性别,学生的成绩都是属性,它描述了学生这个对象具有什么特征
2、方法的概念
方法其实跟函数我觉得是差不多的,他更多的表现的是一种操作,或者说是对象的一种行为,比如学生打架 ,学生学习了
3、实例理解
这里创建一个类和对象:
#创建类
class Hero(object): def move(self):print("发起了攻击")
#创建对象,对象名 = 类名
super_hero= Hero()
现在给对象赋予属性,名字,攻击力,生命值
#给对象添加属性和相对应的属性值
hero.name = "将军" #名字
hero.hp = "1000" #生命值
hero.attack = "700" #攻击力
然后我们获取它的属性值,看一下有没有给它添加成功:
然后我们试着使用有了具体对象后的方法
这是总的代码,第一步我们创了类,第二步我们创建了对象,第三步给对象添加了属性,然后我们验证了这个属性并调用了实例化后的方法。def move(self)里面的self其实就是对象自己的引用作为值传递了进去,我们还可以把获取对象属性值那一步精简一下,变成下面这样:
class Hero(object):def move(self):print("发起了攻击")def base(self):print("人物 %s 的生命值剩余 %d , 攻击力 %d" % (hero.name,hero.hp,hero.attack))#创建对象,对象名 = 类名
hero = Hero()#给对象添加属性和相对应的属性值
hero.name = "将军" #名字
hero.hp = 1000 #生命值
hero.attack = 700 #攻击力#获取对象的实例方法
hero.base()
hero.move()
运行结果是一样的
4、init方法
- 概念:无需任何操作,类创造对象时自动执行相关的代码
- 无参数情况下:
- 有参数情况下,直接在__init__里面添加参数,然后对其赋值初始化,增加属性
三、补充说明:继承的种类
1、单继承
还是用上文的例子举例
class Hero(object): #父类def __init__(self,name,hp,attack):self.name = nameself.hp = hpself.attack = attackprint("%s 的生命值有剩余 %d,武力值为 %d" % (self.name,self.hp,self.attack))print("被打败了")
class City_hero(Hero): #子类,没有对父类作什么改变,就是单纯的继承,而且只继承了一个父类Heropass
hero = City_hero('将军',1000,700)
2、多继承
当子类比较贪心,一次性继承多个父类(这里写了两个父类的实例)时。如果父类的方法命名时相同的,那么调用的时候肯定会出现冲突,也就是说,你也叫张三,我也叫张三,是给你叫还是给我叫:
class Hero(object): #第一个父类def __init__(self):self.name = "将军"def me(self):print("%s" % (self.name))def bad(self): print("被打败了")class Person(object): #第二个父类def __init__(self):self.name = "敌方将军"def me(self):print("%s" % (self.name))def result(self):print("打赢了")class City_hero(Hero,Person): #子类,继承了2个父类passhero = City_hero()
hero.me()
最终结果是输出了将军,也就是执行了 City_hero(Hero,Person)中的hero的init方法,可以总结继承多个父类,产生冲突时,执行第一个父类的方法
我们修改一下代码
执行出来了这样一个结果,hero.bad,hero.result,两个父类的内容都输出了,因为他们之间没有产生冲突
四、补充说明:模块之自定义模块
1、自定义模块的定义、创建
举自己写的一段代码进行梳理:
__all__ = ["today", "tomorrow"] #如果使用from mod import *,就只能执行today和tomorrow这两个函数today = 12def tomorrow(): print("加油")class Hero(object):def __init__(self,name):self.name = nameprint("%s 的生活多姿多彩" % self.name)
if __name__ == '__main__': #假如这个模块直接被运行而不是调用,它就会执行接下来的代码块,如果是模块被导入了,那就不执行下面这个代码块tomorrow()
2、保存自定义功能模块,以jupyter Notebook为例
- 对代码文件进行重命名
- 保存下载代码文件为.py文件
3、将代码文件放在和接下来的代码文件一个文件夹内
4、import模块,检验功能
3、关于 if name == ‘main’ 看代码片的注解有
数据分析学习笔记—python面向对象与模块相关推荐
- 数据分析学习笔记—python函数、异常与处理
文章目录 一.python函数异常与处理思维导图 二.补充说明:python函数参数(如有错误,还请指正) 1.python函数参数的传递机制 2.python函数参数分类(位置.默认值.关键字) 三 ...
- 数据分析学习笔记—python数据类型与数据容器
文章目录 1.python标准数据类型 2.python数据容器概念 3.python数据容器思维导图 1.python标准数据类型 2.python数据容器概念 容器类数据模型,从个人角度理解来说, ...
- 数据分析学习笔记—python简单操作EXCEL
- Python数据分析学习笔记:使用SciKit-Learn进行数据规范化
Python数据分析学习笔记:使用SciKit-Learn进行数据规范化 数据规范化是数据挖掘的一项基础工作.不同评价指标往往具有不同的量纲,数值见的差别可能很大,不进行处理可能会影响到数据分析的结果 ...
- Python数据分析学习笔记:计算向量夹角
Python数据分析学习笔记:计算向量夹角 通过计算两个向量夹角了解两个向量之间的相关性. # 计算向量夹角import numpy as npdef included_angle(a, b):a_n ...
- Python数据分析学习笔记:计算相关系数
Python数据分析学习笔记:计算相关系数 1.相关系数概念 相关系数,或称线性相关系数.皮氏积矩相关系数(Pearson product-moment correlation coefficient ...
- Python数据分析学习笔记05:用户画像
Python数据分析学习笔记05:用户画像 一.用户画像 用户画像是指根据用户的属性.用户偏好.生活习惯.用户行为等信息而抽象出来的标签化用户模型.通俗说就是给用户打标签,而标签是通过对用户信息分析而 ...
- python客户画像_Python数据分析学习笔记05:用户画像
Python数据分析学习笔记05:用户画像 一.用户画像 用户画像是指根据用户的属性.用户偏好.生活习惯.用户行为等信息而抽象出来的标签化用户模型.通俗说就是给用户打标签,而标签是通过对用户信息分析而 ...
- 数据分析学习笔记——数据可视化
数据分析学习笔记系列--数据可视化 总第45篇 ▼ 写在前面: 本篇来源于书籍<数据之美-一本书学会可视化设计>的学习后整理所得.全篇主要围绕数据可视化的5个步骤展开,其中重点内容是第三步 ...
最新文章
- HTTPS网络加密双向验证-使用AFNetworking封装
- docker本地私有仓库搭建
- 下载并导出数据到execl中
- 【Linux】一步一步学Linux——passwd文件详解(107)
- RabbitMQ各个名词介绍
- AT4439-[AGC028E]High Elements【结论,线段树】
- html排序图标,css实现排序升降图标
- sublime 关闭自动更新
- SOTIF很快将会取代ISO 26262?为您详细解读SOTIF标准ISO/PAS 21448
- surfer 8 scripter 学习笔记(9)surfer与VB结合的VB源代码
- Audition人声美化
- VMware虚拟机迁移
- 浮层引导页Activity
- 阿里云(飞天)里的 盘古
- vs2022 E1696 无法打开 源 文件 “string.h“
- python实现翻转金字塔图案
- 运动无线耳机哪个品牌比较好、口碑最好的运动蓝牙耳机
- 用pygame写像素游戏地图编辑器
- HSV2RGB一种灯光渐变实现算法
- 欧拉角,轴角,四元数与旋转矩阵详解
热门文章
- ssms win10_10个SSMS技巧和窍门可提高您的生产力
- sql备份恢复数据库_使用DBATools通过SQL恢复数据库操作验证备份
- 利用Visual Studio Project自动将数据加载到SQL Server数据库中
- sql 时态表的意义_在SQL Server 2016中拉伸时态历史记录表
- linux磁盘链路故障
- 基于python的文件处理
- js中apply使用方法小议(转载)
- 四步破解大亚DP607超级密码,别的光猫可能也适用!
- HTML5 canvas 模拟事件
- 分享一个自己做的简易敏捷开发管理工具——AgileLite