将变量赋值为方法调用结果的术语是什么?为何tkinter的pack返回NoneType
问题解答
对应技术术语
该操作的通用技术术语为 方法返回值赋值,即把目标方法执行后输出的返回值绑定到指定变量上。
在Tkinter开发场景中这也是典型的新手误区:不少开发者会误以为布局方法会返回组件本身,写出btn = Button(root).pack()的错误写法,后续调用btn的属性/方法时会触发异常。
打印结果为<class 'NoneType'>的原因
- Python语法层面规定:所有函数/方法如果没有显式声明
return返回值,默认都会返回空值对象None,它的类型就是NoneType。 - Tkinter的三类几何布局方法
pack()、grid()、place()的设计定位仅为执行组件的布局渲染逻辑,不需要向调用方返回任何有效数据,因此都没有设置返回值,调用后默认返回None。 - 你的代码中
button1.pack()执行后返回的就是None,赋值给变量y后,y的类型自然为NoneType。
内容的提问来源于stack exchange,提问作者FragThemBoshKidz
相关产品推荐
相关产品推荐

