编程语言
首页 > 编程语言> > Python面向对象-4.实例属性、实例方法

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()

  

 

说明:

三、总结

标签:hero,Python,self,面向对象,实例,对象,def,属性
来源: https://www.cnblogs.com/dong4716138/p/15718135.html