python - Python 3 中的内部类中的超级
问题描述
为什么这有效
class A():
def __init__(self):
self.B = self.__B__()
class __B__():
def __init__(self):
pass
def speak(self):
print("Hi, I'm B")
def speak(self):
print("Hi, I'm A")
这有效:
class A():
def __init__(self):
super(A, self).__init__()
def speak(self):
print("Hi, I'm A")
但这不是吗?
class A():
def __init__(self):
super(A,self).__init__()
self.B = self.__B__()
class __B__():
def __init__(self):
super(__B__,self).__init__()
def speak(self):
print("Hi, I'm B")
def speak(self):
print("Hi, I'm A")
我得到了__B__
不存在的消息。另外,做super(ClassName,self).__init__()
什么以及为什么应该/不应该使用它?
解决方案
推荐阅读
- java - 如何使用流明通过android将图像文件上传到cloudinary
- python - 我的 Python Dockerfile 中是否需要 apt-get 更新和升级
- python - 时间触发器上的 Python 中的 Azure 函数从 url 获取 zip 文件,解压缩,然后将文件输出到 Azure 存储中的 blob 容器
- javascript - JavaScript p5 使图片移动在随机位置产生
- git - git stash pop :丢弃单个文件中的本地更改
- javascript - 根据属性值对数组进行排序
- azure-devops - 将 Git 存储库从 Azure DevOps 导入 RedHat JBPM
- reactjs - 反应如何将图像连续放置
- sql - 使用 `TRY_CAST` 后未删除 NULL 值
- swift - 如何在spritekit中检测一个节点是否指向另一个节点