我们把创建出来的对象称之为:实例对象
,简称对象
所以当我们说实例属性
时,就是指这个对象的属性
那什么是方法呢?
通俗的说:方法
就是
对象中定义的函数
,用它来实现功能
定义实例方法的方式与定义函数很类似,唯独不同点在于形参中的第一个参数是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
函数的调用方式:
函数名(实参)
实例方法的调用
实例对象.实例方法名(实参)
示例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需要实参,有返回值因此需要用变量来存储
注意:
实例对象.方法名()
调用什么是实例属性呢?
通俗的说:实例属
性就是对象中
可以用的变量
,用它来存储数据
定义方式
对象名.属性名
示例
class Hero(object): pass # 创建对象 hero = Hero() # 给对象设置属性(通俗的说就是:给hero标记的实例对象添加变量且赋值) hero.name = "王老师" hero.age = 18 hero.address = "山东青岛"
定义方式:在实例方法中定义
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()
注意:
虽然定义&使用属性有上述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__
方法中