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)

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

     

        新建对象使用此方法:

     

  • 相关阅读:
    servlet的监听器、过滤器、拦截器的区别
    根据一个单词找所有的兄弟单词的思想如何处理
    Maven deploy 部署 jar 到 Nexus 私服
    在vps上搭建hexo博客
    Java解决LeetCode72题 Edit Distance
    学以致用:Python爬取廖大Python教程制作pdf
    puppeteer截图
    Netty接收HTTP文件上传及文件下载
    Docker中执行Shell出现乱码
    Netty URL路由方案探讨
  • 原文地址:https://www.cnblogs.com/cxstudypython/p/12021605.html
Copyright © 2011-2022 走看看