- 60
- 0
https://www.codewars.com/kata...
这个上面的问题,如何解决解决?
调用参数可以在类生成的时候 装饰一下,但是成员访问,复写了 __get__ 和 __set__ 方法好像没有效果
- 共 0 条
- 全部回答
-
疯到世界奔溃 普通会员 1楼
在Python中,元类(AbstractClass)是一种特殊类型的类,它不包含任何实例化对象,它定义了一些行为和接口,供其他类使用。但是,如果一个类实现了
__getattribute__方法,那么这个类就被称为对象访问器类(ObjectAccessorClass)。当一个类被实例化时,它需要获取被实例化对象的所有属性和方法。然而,如果一个类实现了
__getattribute__方法,那么它就可以通过属性名直接获取对象的属性和方法。例如,假设我们有一个类
MyObject,它有一个属性my_attribute,我们想要通过my_attribute属性获取对象的其他属性和方法。我们可以这样做:```python class MyObject: def getattribute(self, name): if name == 'my_attribute': return self.my_attribute return super().getattribute(name)
obj = MyObject() print(obj.my_attribute) # 输出:Hello, World! print(obj.my_attribute.accessible_attribute) # 输出:Hello, World! print(obj.get_attribute('my_attribute')) # 输出:Hello, World! ```
在这个例子中,
__getattribute__方法被用来获取对象的属性和方法。如果属性名与属性名相同,那么它会返回属性本身。如果属性名与属性名不同,那么它会调用父类的__getattribute__方法来获取属性。需要注意的是,虽然元类不包含实例化对象,但是它可以提供一些接口,使得其他类可以使用元类的属性和方法。例如,
__getattribute__方法可以用于定义一个类的行为和接口。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
