码迷,mamicode.com
首页 > 编程语言 > 详细

Python - 函数属性方法装饰器(二)

时间:2019-12-11 13:05:41      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:alt   时报   imp   ini   定义   div   ima   strong   函数   

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)

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

 技术图片

 

    新建对象使用此方法:

 技术图片

 

 

 

 

 

 

 

 

Python - 函数属性方法装饰器(二)

标签:alt   时报   imp   ini   定义   div   ima   strong   函数   

原文地址:https://www.cnblogs.com/cxstudypython/p/12021605.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!