zoukankan      html  css  js  c++  java
  • Python学习系列之动态绑定属性和方法(二十六)

     动态绑定属性和方法

     Python是动态语言,在创建对象之后,可以动态地绑定属性和方法

     1. 动态地绑定属性

    代码示例:

    '''动态地绑定属性'''
    class Student:
        def __init__(self,name,age):
            self.name=name
            self.age = age
    
        #实例方法
        def eat(self):
            print('学生在吃饭...')
    
    stu1=Student('张三',20)
    stu2=Student('李四',30)
    stu1.gender='女'     #动态绑定性别
    print(stu1.name,stu1.age,stu1.gender)
    print(stu2.name,stu2.age)
    

      执行结果:

     说明:一个Student类可以创建N个Student类的实例对象,每个实体对象的属性值可以不同

     代码示意图如下:

    2. 动态的绑定方法

    '''动态地绑定方法'''
    class Student:
        def __init__(self,name,age):
            self.name=name
            self.age = age
    
        #实例方法
        def eat(self):
            print('学生在吃饭...')
    
    stu1=Student('张三',20)
    stu2=Student('李四',30)
    # stu1.gender='女'     #动态绑定性别
    # print(stu1.name,stu1.age,stu1.gender)
    # print(stu2.name,stu2.age)
    
    def show():  #函数
        print('我是动态绑定的函数')
    stu2.show=show  #动态绑定方法,函数绑定到对象上就是方法
    stu2.show()   #stu1.show()执行时会报错AttributeError,因为stu1没有绑定show方法

      执行结果

     说明:stu2.show=show   是动态绑定方法的写法

    ----------------------------------

    类对象总结:

    类对象有类属性、类方法、静态方法、实例方法

    实例对象使用类名()创建实例对象c

    实例对象可以动态绑定属性,stu1.gender='女'

    实例对象可以动态绑定方法,stu2.show=show   stu2.show()

  • 相关阅读:
    vue源码分析—Vue.js 源码目录设计
    vue源码分析—认识 Flow
    在Windows上安装配置MongoDB
    mongoDB概述
    Could not load file or assembly Microsoft.Web.Infrastructure
    配置错误 不能在此路径中使用此配置节(转)
    VS2013快捷键大全
    Create new tool for CSV
    How to get http response.
    C#中Split用法
  • 原文地址:https://www.cnblogs.com/wx170119/p/14469161.html
Copyright © 2011-2022 走看看