首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

python中类属性与范例属性总结

2012-09-17 
python中类属性与实例属性总结stackoverflow上面的相关讨论http://stackoverflow.com/questions/2923579/p

python中类属性与实例属性总结

stackoverflow上面的相关讨论

http://stackoverflow.com/questions/2923579/python-class-attribute

http://stackoverflow.com/questions/1944625/what-is-the-relationship-between-getattr-and-getattr


1. 类属性

    为在类定义时直接指定的属性(不是在__init__方法中)

import random#I think this is a good example to show the power you can get from overriding '__getattribute__'class TestClass(object):def __init__(self,stu1,*args): #at least one student!self.students=[stu1]self.students.extend(args) def __getattribute__(self,attr_name):if attr_name=="random_student":students=super(TestClass,self).__getattribute__("students")pos=random.randint(0,len(students)-1)return students[pos]else:return super(TestClass,self).__getattribute__(attr_name)

        该例子中, 使用'__getattribute__'方法添加了一个TestClass本不存在的属性'random_student'
        通过该属性, 可以随机的访问students中的某一个student


你的反馈就是博主进步的最大动力

热点排行