Python面向对象-4.实例属性、实例方法
作者:互联网
一、实例方法
1. 是什么
我们把创建出来的对象称之为:实例对象
,简称对象
所以当我们说实例属性
时,就是指这个对象的属性
那什么是方法呢?
通俗的说:方法
就是
对象中定义的函数
,用它来实现功能
2. 定义
定义实例方法的方式与定义函数很类似,唯独不同点在于形参中的第一个参数是self
示例
class Hero(object): def test1(self): print("这是一个方法") def test2(self, age): print("age=%d" % age) def test3(self, score1, socre2, socre3): return (score1 + score2 + score3) / 3
3. 调用
函数的调用方式:
函数名(实参)
实例方法的调用
实例对象.实例方法名(实参)
示例1
class Cat(object): # 实例方法 def eat(self): print("猫在吃鱼....") def drink(self): print("猫在喝可乐...") # 创建了一个对象 tom = Cat() tom.eat() # 调用对象的eat方法 tom.drink()
示例2
class Hero(object): def test1(self): print("这是一个方法") def test2(self, age): print("age=%d" % age) def test3(self, score1, socre2, socre3): return (score1 + score2 + score3) / 3 # 创建Hero类的对象 hero = Hero() hero.test1() # test1无参无返回值 hero.test2(19) # test2需要传递实参 average_score = hero.test3(100, 99, 98) # test3需要实参,有返回值因此需要用变量来存储
注意:
- 实例方法的调用,一定要用
实例对象.方法名()
调用
二、实例属性
1. 是什么
什么是实例属性呢?
通俗的说:实例属
性就是对象中
可以用的变量
,用它来存储数据
2. 定义&使用属性(方式1)
定义方式
对象名.属性名
示例
class Hero(object): pass # 创建对象 hero = Hero() # 给对象设置属性(通俗的说就是:给hero标记的实例对象添加变量且赋值) hero.name = "王老师" hero.age = 18 hero.address = "山东青岛"
3. 定义&使用属性(方式2)
定义方式:在实例方法中定义
class 类名(object): def 方法名(self): self.实例属性名 = 数据
示例
class Hero(object): def set_info(self): # 下面定义的了3个实例属性,且给它们设置了初始值 self.name = "王老师" self.age = 18 self.address = "山东青岛" # 创建实例对象 hero = Hero() # 调用方法,从而让第4、5、6行被执行,从而完成实例对象的属性添加 hero.set_info()
注意:
- 这种方式定义的实例属性,需要调用它所在的方法才行,如果方法不调用那么定义的属性就不会被执行,因此对象就不会有这些属性
4. 更加灵活的使用属性
虽然定义&使用属性有上述2种方式,但是实际开发工作中,是互相用的,没有人规定我们必须用哪一种,只要能实现需求即可
示例
class Hero(object): def set_info(self): # 下面定义的了3个实例属性,且给它们设置了初始值 self.name = "王老师" self.age = 18 self.address = "山东青岛" def print_info(self): print(self.qq, self.email) # 创建实例对象 hero = Hero() # 调用方法,从而让第4、5、6行被执行,从而完成实例对象的属性添加 hero.set_info() # 通过对象方式直接获取属性 print(hero.name, hero.age, hero.address) # 给对象添加额外的属性 hero.qq = 123456 hero.email = "dong4716138@163.com" # 这是王老师真实的邮箱哦.... # 调用方法,在方法中获取qq、email hero.print_info()
说明:
- 虽然上述的代码中展示了我们使用属性的灵活性,但也总感觉代码有些凌乱,所以后面我们将属性的定义都放到
__init__
方法中
三、总结
- 用类创建出来的对象,我们一般称之为“实例对象”
- 实例方法,就是对象中的函数,实现了功能
- 实例属性,就是对象中的变量,实现了存储数据
标签:hero,Python,self,面向对象,实例,对象,def,属性 来源: https://www.cnblogs.com/dong4716138/p/15718135.html