zoukankan      html  css  js  c++  java
  • Python

    1.给类绑定属性值

        类名.属性名 = 属性值

    class Stu(object):
        # 构造方法
        def __init__(self):
            print('我是一个学生')
    
    
    # 给类添加属性
    s = Stu()
    s.name = 'Tom'
    print(s.name)

        注:仅供当前对象使用

    2.类、对象的属性操作

        setattr() 函数用于设置属性值,该属性不一定是存在的。

        setattr(object, name, value)

            -object: 对象

            -name:对象属性,字符串

            -value:属性值


        hasattr()函数用于判断对象是否包含对应的属性。

        hasattr(object, name)

            -object: 对象

            -name:属性名,字符串


        getattr() 函数用于返回一个对象属性值。

        getattr(object, name, value)

            -object: 对象

            -name:对象属性,字符串

            -value:属性值,默认为空

        注:当name不存在且存在默认值时getattr() 函数返回默认值


    class Stu(object):
        # 构造方法
        def __init__(self):
            print('我是一个学生')
    
    
    # 给类设置属性
    setattr(Stu, 'name', 'Tom')
    # 实例化对象
    s = Stu()
    s1 = Stu()
    print(s.name)
    print(s1.name)
    # 判断Stu()是否有‘name’属性
    print(hasattr(Stu, 'name'))
    # 获取属性值,属性不存在时报错
    print(getattr(Stu, 'name'))
    # 属性不存在但设置了默认值时返回默认值
    print(getattr(Stu, 'ame', 'Jary'))

     3.给对象和类绑定方法

    from types import MethodType
    
    
    class Stu(object):
        # 构造方法
        def __init__(self):
            print('我是一个学生')
    
    
    # 类外部定义一个方法
    def set_age(self, age):
        self.age = age
    
    
    # 给对象或类绑定方法
    s = Stu()
    s.set_age = MethodType(set_age, s)
    s.set_age(18)
    print(s.age)
    # 新建对象使用此方法报错
    # s2 = Stu()
    # s.set_age(18)
    # print(s2.age)

        注:仅供当前对象使用此方法 新建对象使用此方法会报错(类没有此方法)

     

        新建对象使用此方法:

     

  • 相关阅读:
    Amphiphilic Carbon Molecules [UVA
    2018宁夏邀请赛I题 bubble sort(思维题
    CF1198E Rectangle Painting 2(最小割 思维
    Problem : 这个题如果不是签到题 Asm.Def就女装(积性函数dp
    cogs2223. [SDOI2016 Round1] 生成魔咒(后缀数组 hash 二分 set
    cogs1709. [SPOJ 705] 不同的子串(后缀数组
    cogs249 最长公共子串(后缀数组 二分答案
    hdu2222 Keywords Search (AC自动机板子
    ccpc网赛 hdu6703 array(权值线段树
    ccpc网赛 hdu6705 path(队列模拟 贪心
  • 原文地址:https://www.cnblogs.com/cxstudypython/p/12021605.html
Copyright © 2011-2022 走看看