每日日报

类和对象

类,相当于是一个图纸或者是模具

对象,是利用类所生产出来的实体的东西,只要有一个类,我们就可以创造出无数的实体。创造出来的实体,我们叫做实例对象

创建对象前,要先明确

这个对象是用来干什么的

它应该有哪些属性,是需要的。有哪些方法是需要的。

不同的类,会创建不同的对象

飞机图纸的类,只能用于创建飞机对象

小熊饼干模具的类,只能用于创建小熊饼干

类的定义

class关键词,用于定义类

类比于函数的定义,函数是使用def来定义的

class 类名(object):
	类的代码(定义属性,定义方法)
	
class 类名:
	类内部的代码,定义属性,定义方法

类的属性

使用变量赋值的方式,给类添加属性

age = 18

name = ‘小明’

height = 1.75

类的方法

def 方法名(self,参数):

​ 方法内的代码

类转变为实例的操作

相当于使用小熊饼干的模具,要做小熊饼干了

办法

模具() 就生成了一个饼干

类比于函数的调用

函数名(),可以调用一个函数

类》对象

类名(),就会创建一个对象

获取对象属性与方法

对象.属性,可以得到属性对应的值

对象.方法名(),可以让方法运行


190328四

给对象赋值的办法

给对象添加属性的操作,给对象修改属性操作

对象.属性 = 值

通过这种方式,可以让对象拥有该属性

类创建对向

类中的属性,对向都可以使用

函数中变量的生命周期复习

def fun(name):
	print(name)
	
fun('张三')

函数中的变量是局部变量
他的生命周期是
从函数运行开始,出生,有生命了
当函数运行结束,局部变量就销亡

self的使用范围

在类中,我们会定义方法

默认我们定义的方法,pycharm都会自动给我们的方法加上一个self参数,作为第一个参数

经过了验证

self这个东西,只能够在有self参数的方法中使用(无slef的方法,不可以使用self)

self的效果

self的内存地址,与对向的内存地址是一模一样的

对象可以有的属性方法操作,self都可以有

注意

我们只能够在self有生命的位置,使用self

init初始化方法

init方法

写法是

def __init__(self,形参1):
	初始化需要处理的代码

用法

类在实例化为对象的过程中

如果类名后面的括号中有参数

参数会按照位置对应关系,传递到__init__ 方法中

例子

t = Cat(‘tom’)

'tom’会传递给init中的形参1

对象 = 类名()

把类实例化为对象的格式,使用蛋糕模具,制作出一个蛋糕实体的格式

蛋糕实体 = 蛋糕模具()
对象 = 类(参数1)

del方法

__del__

会在对向被注销时,自动执行的方法

对象被注销的两种情况

  1. 使用删除的语句让对象消失

    del 对象

    del(对象)

  2. 整个程序执行完成(py文件)

str方法

控制打印对象时的输出显示内容

__str__

创建对象时要考虑的东西

1,属性(类的属性,对象的属性)

2,方法

如果希望打印对象时出现指定的内容

那就使用str方法来修改打印输出的格式

print(对象)

190329五

初始化对象属性

如果一个对象在创建的时候,需要有对象的属性

那么,我们应该在init方法中进行初始化

初始化操作主要的处理是

 对象.属性 = 值

问题,值从哪里来?

类在进行实例化时,往类名后面的括号中,传递数据

t = Cat(‘汤姆’)

通过这种方式传参

对象 =  类名(参数)

参数会传送到init方法中,按照位置对应的关系进行给值

初始化方法定义的时候
def __init__(self, 形参1,形参2):

我们在外部把类实例化对象时传参这样传
对象 = 类名(实参1,实参2)

通过这种方式传递参数
实参1的数据,会传递给形参1
实参2的数据,会传递给形参2

不是所有的对象属性都是要传参的

有的对象属性,可以通过计算获取

例如,房屋摆放家具案例中的剩余面积,用总面积- 已摆放的家具面积

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值