如何解决在python中turtle.Screen是turtle.TurtleScreen的子类吗?
from turtle import Turtle,Screen,TurtleScreen
turtle = Turtle()
screen = Screen()
print(isinstance(turtle,Turtle))
print(isinstance(screen,TurtleScreen))
print(issubclass(Screen,TurtleScreen))
print(isinstance(screen,Screen))
最后 2 个打印有一些错误,调试显示“屏幕”不是一个类。但是从文档中它说“屏幕是 TurtleScreen 的子类”。那么这里有什么问题呢?是不是跟所谓的Singolton 对象有关?
解决方法
没有名为 Screen
的类。有一个名为 Screen
的(独立海龟)函数返回单例 TurtleScreen
实例。所以这是正确的:
screen = Screen()
print(isinstance(screen,TurtleScreen))
(隐藏的现实是它是类 _Screen
的一个实例,它是类 TurtleScreen
的子类,它是 TurtleScreenBase
的子类)
为简单起见,我们假设我们正在获取类 Screen
的一个实例,我们在其上调用方法:
from turtle import Screen
screen = Screen()
screen.setup(800,600)
但这是一个方便的虚构。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。