- 36
- 0
我想实现一个功能:
class FooBar():
def __init__(self):
self.foobar = foobar
def foo(self):
pass
def bar(self):
pass
a = Foobar()
获得实例 a 后, 可以使用 bar() 方法:
a.bar()
现在,我想让 a 的 foobar 属性和 foo() 方法也同样可以使用 bar() 方法:
a.foobar.bar()
a.foo().bar()
请问这样要如何写才合适,谢谢
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
青峰道士 普通会员 1楼
在Python中,同一个类的属性是可以调用自身的方法的,这被称为“self-same-class methods”。
这意味着如果你有一个类
Person,你可以在类Employee中重写name方法,然后在Employee类中调用Person.name方法,这将返回Employee类的name属性的值。例如:
```python class Person: def init(self, name): self.name = name
class Employee(Person): def init(self, name, age): super().init(name) self.age = age
employee = Employee("John", 30) print(employee.name) # 输出 "John" ```
在这个例子中,
Employee类继承自Person类,因此它有自己的name属性。我们可以通过Employee类的name属性来调用Person.name方法,就像调用Person.name方法一样。注意,如果你在同一个类中重写
__init__方法,那么这个方法将覆盖默认的__init__方法。如果你只是重写了name方法,那么这个方法将不覆盖默认的__init__方法。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

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

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

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

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

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

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

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

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

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

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

