10.29学习笔记

之前代码存在的问题——在类的外部给对象增加属性

  • 我们将上一个代码进行调整,先调用方法在设置属性,试试看会出现什么问题

提示:

  • 在日常开发中,不推荐使用在类的外部给对象增加属性,因为python从上向下执行,如果没有找到属性,程序会报错
  • 对象应该包含哪些属性,应该封装在类的内部

04.初始化方法

  • 当使用类名()创建对象时会执行以下操作
  1. 为对象在内存中分配空间——创建对象
  2. 为对象的属性设置初始值——初始化方法
  • 这个初始化方法就是__init__方法,是对象的内置方法

__init__方法是专门用来定义一个类具有哪些属性的方法!

演练:在Cat中增加__init__方法,验证该方法在创建对象时会被自动调用

 在初始化方法内部定义属性

  • __init__方法内部使用 self.属性名=属性的初始值 就可以定义属性
  • 定义属性之后,再使用Cat类创建的对象,都会拥有该属性

代码中所有猫的name属性都会被高亮显示,如下: 

 总结:如果希望使用的 创建出来的 对象,默认就拥有某个属性,我们就可以在初始化方法内部使用self. 利用赋值语句就可以定义属性

 

改造初始化方法——初始化的同时设置初始值

  • 在开发中,如果希望创建对象的同时,就设置对象的属性,可以对__init__方法进行改造
  1. 把希望设置的属性值,定义成__init__方法的参数
  2. 在方法内部使用 self.属性 = 实参 ,接收外部传递的参数
  3. 在创建对象时,使用 类名(属性1,属性2....)调用

由于在初始化方法中,给name设置的初始值固定死了,所以大懒猫在调用吃鱼的方法时依旧是Tom的名字,我们可以给函数增加一个形参,用形参替换函数内部被固定死的值,就可以让函数内部的代码灵活起来,同时增加形参后,在调用函数时以实参的方式把具体希望在函数内部表达的值传递进来,

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值