day25 初始面向对象
类 有具体规范,无具体值
对象 有具体的值 dict 类
d = {"":""} 对象 自定义一个类格式:
class 类名: # 可以跟()或者不跟
属性 = 'a'
print(类名.属性)
class Person(): # 类名加():叫做实例化,会得到一个实例的结果
country = "China" # 类属性,只要是这个类就一定有这个属性
def __init__(self,*args): # 初始化方法,self是对象,是必须要传的参数
# print(self.__dict__) # self 就是一个可以存储很多属性的大字典
self.name = args[0] # 往字典里面存属性的方式和字典不太一样,要习惯一下下
self.hp = args[1]
self.aggr = args[2]
self.sex = args[3]
# self自己返回值了,不需要我们自己写return 了
def dead(self,n): # 定义一个方法,必须含有参数,所有使用方法的时候必须要传参
# self函数必须要在第一个参数就传入,这个参数决定了使用方法的对象
print('%s死死死,死了%s次' %(self.name,n)) suyang = Person("苏阳", 100, 1, "不详") # alex 对象 # 实例化对象
# print(Person.country) # 查看类属性
# print(suyang.__dict__) # 查看对象的全部属性
# print(suyang.name) # 查看对象某个属性
# Person.dead(suyang,5) # 调用方法 类名.方法名(对象名)
# suyang.dead(5) # 相当于Person.walk(suyang,5)
# 原因在于suyang已经被当做类里面的对象放进去了,
# 可以直接使用类的方法 print(Person.__dict__["country"]) # 字典存储类里面的所有的名字,
print(suyang.__dict__["sex"]) # 字典存储了对象里面的所有的名字
suyang.__dict__["sex"] = "禽兽" # 既然是字典那就可以用字典的操作进行处理
print(suyang.__dict__["sex"] )
print(suyang.sex) # 直接更改这个字典的操作是可以真实体现在对象里面的
# 但是我们一般不这么用
suyang.sex = "不详" # 一般来说还是用这种直接调用方法改岂不是更简单啊
print(suyang.sex)
对象 = 类名()
过程:
类名() 首先会创造出一个对象,创建了一个self变量
调用init方法,类名括号里面的参数在这里接受
执行init方法
返回self值
对象能做的事情:
查看属性
调用方法
__dict__ 对于对象中的增删改查可以通过字典更改
类能做的事情:
实例化
调用方法,但是会报错需要传self参数,所以一般我们不用
调用类中的属性
__dict__ 对于类中的是不可以的,只能看不能改 面向对象可以让逻辑和数据组合,即属性和行为进行组和
函数式编程的数据和逻辑是完全分离的
面向对象对相同属性的一类事物进行抽象后分类
面向对象也对事物进行模板约束
day25 初始面向对象的更多相关文章
- JAVAScript对象及初始面向对象
javaScript对象及初始面向对象 1:内置对象 例:Date String Array 类等... 2:自定义对象 方法1:var newObj=new Object(); ...
- python进阶(4):初始面向对象
一切皆对象! 面向过程-->面向对象 面向过程:根据业务逻辑从上到下堆叠代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更 ...
- Python入门-初始面向对象
之前我们代码基本上都是面向过程的,今天我们就来初始一下python中一个重要的内容:面向对象 一.面向对象和面向过程(重点理解) 1.面向过程: 一切以事物的流程为核心. 核心是"过程&qu ...
- DAY25、面向对象总复习
面向对象总复习:面向过程编程思想: 核心是 过程 二字, 过程指的是解决问题的步骤是,即先干什么再干什么. 基于该编程思想编写程序,相当于一条流水线,一种机械式的思维方式. 面向对象编程思想: 核心是 ...
- python之初始面向对象
1. 初识面向对象 面向过程: 一切以事务的发展流程为中心. 面向对象: 一切以对象为中心. 一切皆为对象. 具体的某一个事务就是对象 2. 类. 对象 类: 就是图纸. 创建对象的第一步. 先画图 ...
- [ python ] 初始面向对象
首先,通过之前学习的函数编写一个 人狗大战 的例子. 分析下这个需求,人 狗 大战 三个事情.角色:人.狗动作:狗咬人,人打狗 先创建人和狗两个角色: def person(name, hp, ag ...
- python学习——初始面向对象
一.讲在前面 编程的世界中有三大体系,面向过程.面向函数和面向对象编程.而面向过程的编程就包括了面向函数编程,接下来说一下面向对象.假如 ,你现在是一家游戏公司的开发人员,现在需要你开发一款叫做< ...
- python初始面向对象
阅读目录 楔子 面向过程vs面向对象 初识面向对象 类的相关知识 对象的相关知识 对象之间的交互 类命名空间与对象.实例的命名空间 类的组合用法 初识面向对象小结 面向对象的三大特性 继承 多态 封装 ...
- python之--初始面向对象
阅读目录 楔子 面向过程vs面向对象 初识面向对象 类的相关知识 对象的相关知识 对象之间的交互 类命名空间与对象.实例的命名空间 类的组合用法 初识面向对象小结 面向对象的三大特性 继承 多态 封装 ...
随机推荐
- 配置进程外的Session
1.Session保存在SQLServer中配置方法 1)运行.NetFramework安装目录下对应版本的aspnet_regsql.exe 来创建相关的数据库.表和存储过程等,比如: C:\Win ...
- 《MySQL必知必会》[05] 存储过程和游标
1.存储过程 存储过程是什么,简单来讲,就像Java中的方法(函数),不过它是SQL世界中的方法. 大部分时候,我们所使用都是单条SQL,用来针对一个或多表连接.但是也有情况,是据判断先对表A执行操作 ...
- 移动电力猫HG260GT pon实现路由拨号
帐号CMCCAdmin密码aDm8H%MdA 需要将原来上网的路由模式改成如下图中的桥接模式 实际应该就是将上网vlan连接到了1号口,这样路由就可以通过一号口接入拨号了 修改后再通过无线接入路由就不 ...
- odoo 11导入外部数据过程记录
在开发过程中,遇见需要将SQL Server中的数据转移到Pg数据库的情况,那么如何做才能解决这一问题呢? 1.自己写代码,将数据从SQL Server到PG. 2.利用odoo自带的导入功能导入. ...
- Luogu P3990 [SHOI2013]超级跳马
这道题还是一道比较不可做的矩阵题 首先我们先YY一个递推的算法:令f[i][j]表示走到第i行第j列时的方案数,那么有以下转移: f[i][j]=f[i-1][j-2*k+1]+f[i+1][j-2* ...
- Reactjs-JQuery-Omi-Extjs-Angularjs对比
写在前面 前端越来越混乱了,当然也可以美其名曰:繁荣. 当新启动一个前端项目,第一件事就是纠结:使用什么框架,重造什么轮子? 那么,希望看完此篇,能够给你一个清晰的认识,或者让你更加地纠结和无所适从 ...
- 在Ubuntu18.04下将应用程序添加到启动器
# 在启动器里面给应用程序添加一个快捷方式 在linux(ubuntu)平台下,很多小伙伴发现,自己去官网下载解压的软件不能自动添加到启动器,每次启动的时候需要再次进入软件目录输入命令,非常不方便.本 ...
- maven 第一个Web项目——HelloWorld
1.安装Maven,具体步骤,参照博客[maven的安装与配置]http://www.cnblogs.com/dyh004/p/8523260.html 2.配置阿里云为Maven中央仓库,具体步骤, ...
- LINUX内核分析第八周学习总结——进程的切换和系统的一般执行过程
LINUX内核分析第八周学习总结——进程的切换和系统的一般执行过程 张忻(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/c ...
- Linux实践:ELF文件格式分析
标签(空格分隔): 20135321余佳源 一.基础知识 ELF全称Executable and Linkable Format,可执行连接格式,ELF格式的文件用于存储Linux程序.ELF文件(目 ...