Python 技术知识总结:Tkinter 与面向对象继承

33 阅读4分钟

Python 技术知识总结:Tkinter 与面向对象继承

一、面向对象继承相关题目

10. 单继承指的是只继承一个父类。

A. 对
B. 错
解析:单继承的定义是子类仅继承一个父类,多继承则是子类继承多个父类。因此该表述符合单继承的核心概念,说法正确。

11. 子类能继承父类全部的属性和方法。

A. 对
B. 错
解析:在Python等面向对象语言中,父类的私有成员(如以双下划线开头的属性/方法)无法被子类直接继承,因此子类不能继承父类的“全部”属性和方法,该说法错误。

12. 在子类中重写的方法要和父类被重写的方法具有相同的方法名和参数列表。

A. 对
B. 错
解析:方法重写的关键要求是“方法签名一致”,即子类重写的方法需与父类被重写方法的**方法名、参数列表(个数、类型、顺序)**完全相同,这样才能实现对父类方法的覆盖式重写。因此该说法正确。

构造方法相关单选题

下列选项中,关于构造方法说法不正确的是()

A. 通过类的实例调用构造方法,完成对象的初始化操作
B. 创建完实例以后,系统会自动调用构造方法
C. 如果要修改属性的默认值,可以在构造方法中使用参数设置
D. 构造方法是可以带参数的
答案:A
解析:构造方法是在创建类的实例时由系统自动调用的(而非“创建完实例后”或“被实例主动调用”),用于完成对象初始化;构造方法支持带参数,以此灵活修改属性默认值。因此选项A的表述错误。

二、Tkinter 组件与布局相关题目

1. 下列控件类中,可用于创建单选按钮组件的是【】。

A. Checkbutton
B. Radiobutton
C. Listbox
D. Text
解析:Tkinter中,`Radiobutton`专门用于创建单选按钮(同一组内只能选一个);`Checkbutton`是复选按钮,`Listbox`是列表框,`Text`是多行文本框。因此正确答案为B。

2. 以下能完成几何布局的组件是【】。

A. grid
B. pack()
C. table
D. place
解析:Tkinter的三大布局管理器为`grid`(网格布局,通过行/列实现几何式排列)、`pack`(打包布局,适合简单顺序排列)、`place`(绝对布局)。其中`grid`最适合实现“几何布局”(如表格状排列),因此正确答案为A。

3. 下列控件类中,可用于创建单行文本框的是

A. Button
B. Label
C. Entry
D. Text
解析:Tkinter中,`Entry`控件用于创建**单行文本输入框**;`Text`用于多行文本框,`Button`是按钮,`Label`是静态文本标签(不可编辑)。因此正确答案为C。

4. 如何创建事件循环()。

A. window.loop()
B. window.main()
C. window.mainloop()
D. window.eventloop()
解析:在Tkinter中,需调用顶层窗口(如`Tk()`实例)的`mainloop()`方法启动**事件循环**,以此监听并处理用户交互(如点击、输入等)。因此正确答案为C。

5. Checkbutton按钮的哪个属性与自定义函数绑定,可实现自定义功能?

A. command属性
B. alert属性
C. click属性
D. button属性
解析:Tkinter中,`Checkbutton`(及`Button`、`Radiobutton`等控件)通过`command`属性绑定**回调函数**,当控件被操作(如点击)时,触发绑定的自定义函数执行。因此正确答案为A。

三、Tkinter 相关判断题

6. tkinter是Python的标准库,是GUI库。

A. 对
B. 错
解析:Tkinter是Python**官方内置的标准GUI库**,无需额外安装即可用于开发桌面应用程序界面。因此该说法正确。

7. tkinter.scrolledtext提供了带滚动条的文本框。

A. 对
B. 错
解析:`tkinter.scrolledtext`模块中的`ScrolledText`控件,封装了“带滚动条的多行文本框”功能,方便浏览/编辑大量文本。因此该说法正确。

8. tkinter的Canvas组件是用于绘制直线、椭圆、多边形等图形的画布。

A. 对
B. 错
解析:Tkinter的`Canvas`组件是**绘图区域**,支持绘制直线、矩形、椭圆、多边形、文本等图形元素,也可加载图像,常用于自定义绘图或复杂界面绘制。因此该说法正确。

9. tkinter的Label组件是指列表框。

A. 对
B. 错
解析:Tkinter中,`Label`是**“标签”组件**(用于显示静态文本/图像);而“列表框”对应的组件是`Listbox`。因此该说法错误。

10. pack()方法能够完成非常复杂的布局。

A. 对
B. 错
解析:Tkinter的`pack()`是“打包式布局管理器”,适合**简单、顺序式**的布局场景;若需复杂布局(如网格状、多层嵌套且位置灵活的布局),`grid`或`place`更合适,`pack()`对复杂布局的支持有限。因此该说法错误。

Python Tkinter & 面向对象知识总结 · 技术博客