2019/11/07 02-类定义和初始化

在这里插入图片描述
面向对象基本概念是一切皆对象,万事万物都可以抽象的,抽象出来的对象叫类,具体的东西叫instance,object,编程的时候必须有类和类的实例才可以在这里插入图片描述在这里插入图片描述在这里插入图片描述
封装,类是吧数据和操作封装在一起的,隐藏一些,只暴露一些你该用 的
继承,就是为了复用,减少代码冗余,对父类应该少修改,要修改,在子类上修改自己的东西即可

在这里插入图片描述
class是关键字是语言内部保留的,不允许重复在这里插入图片描述
类名必须是大驼峰,每个单词的首字母大写
函数定以后会生成一个函数对象
类对象也是在内存中构件号,用类的名称这个标识符让你使用
在这里插入图片描述
类是属性和方法的集合
function依然是个函数对象,虽然叫方法,本质上还是function
x是类属性,因为是通过类名访问到的
foo本质上对应函数,习惯称为方法,foo本身也是类属性

在这里插入图片描述
x和foo是一样的,只是在类里面定义标识符,和某个对象建立的关系,本质上都是类属性
在这里插入图片描述

每一个类的定义就会生成一个类对象
x和foo本质上都是类的变量,python中没有常量
吃是人的实例才能调用的
foo方法是类的属性,如同吃是人类的方法,但是每一个具体的人才能吃东西,也就是说吃是人的实例才能调用的方法
函数的第一参数比较特殊,叫self,是一个惯用的标识符,是可以换名字的,但是需要有一个参数,self指代的是实例
(一个类代表千万个体的抽象,类里面定义方法,方法里的self指代一个实例,说哪个实例就指代某一个具体实例的本身
实例只能是具体的一个,谁调用就是谁)
在这里插入图片描述
在这里插入图片描述
每一次实例化只能生成一个具体该类的实例

在这里插入图片描述
调用一次就会生成一个新的实例,每一次实例化会产生一个新的实例

在这里插入图片描述
** __下划线的属性是自己留的
name
__doc__文档字符串
init__初始化方法,这个方法要求第一个参数必须留给self,其他参数随意(其他语言不需要写,但是python要写出来)**
在这里插入图片描述
self可以改因为是形参,只不过是惯用名不要进行修改,不管叫什么,这个第一参数最后都是实例本身
在这里插入图片描述在这里插入图片描述
**实例化,就一定会调用__init方法
,可以写也可以不写,写了用你自己的,不写用父类的
实例化和初始化,在python中是两个方法完成的
实例化,从设计图到变成真正产品
实例化之后可能不能使用,需要用出厂设置,需要初始化
初始化等于给一个出厂配置**

init初始化动作,new,new一个实例出来,new一般用父类的new方法足以造出一个实例出来了
实例化和初始化时俩个方法完成的,这两个在其他语言都叫构造器,构造出一个实例并增加一个出厂配置

在这里插入图片描述
先计算等号右边,实例化加初始化
上面也是创建实例化
两次创建的不是同一个东西

在这里插入图片描述
这两个是一摸一样,但是按照道理是不一样的在这里插入图片描述
就不一样了,每一次实例化会产生一个完全不同的对象在这里插入图片描述在这里插入图片描述
算这个的时候有两个动作,1初始化,2实例化在这里插入图片描述
第8行,第一步就是实例化,拿到实例,调用init,这个实例就会送到第一参数里去,指的就是当前实例本身
在这里插入图片描述
是一样的
在这里插入图片描述
self指代的当前实例本身,这个self是python解释器来完成的,帮你完成这个self的传入在这里插入图片描述
加个name就必须要你输入
在这里插入图片描述
初始化就类似传参在这里插入图片描述
传参的目的就是这样的,self代表一个个不同的实体,相当于给实体赋属性
在这里插入图片描述在这里插入图片描述
在初始化的时候,把参数传入到的函数,并且传入到当前实例的属性上去在这里插入图片描述
可以理解为tom在调用自己的showage
__init__是类的方法,方法是类的
showage是类的属性

在这里插入图片描述
这是实例的属性,self是指代的实例在这里插入图片描述
x是属于类的,self看到的就是实例自己
类是一个抽象的概念,指的是所有是属性和方法的集合,定义的时候可以定义很多的属性和方法的,定义在类的上面的,称为类的属性和方法
python会为每一个类生成一个类对象

在这里插入图片描述
只有一个self可以认为无参,后面如果有参数,就是有参,有参的时候,是代表你想把这个属性添加进来在这里插入图片描述
比较一下最后两行有什么差别,tom告诉你我是谁,tom是类的实例,person没有告诉是谁
所以调用showage需要两个基本条件,是哪个类,你是谁

在这里插入图片描述
缺一个self参数,给一个实例试试
在这里插入图片描述
等价于jerry.showage
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值