Skip to main content
 首页 » 编程设计

python之不明白这两行代码的区别

2025年05月04日10leader

我用两种不同的方式编写了这段代码。只有第二个有效,但我不明白为什么。

1:

buttons = Frame(calculator, bg="green", width=200, height=400).grid() 
buttons.columnconfigure(0) 

2:

buttons = Frame(calculator, bg="green", width=200, height=400) 
buttons.grid() 
buttons.columnconfigure(0) 

请您参考如下方法:

正如我在评论中所说,我希望这段小代码能让您理解问题所在。

class Person: 
    def __init__(self, name): 
        self.name = name 
 
    def greet(self): 
        pass 
 
Joe = Person("Joe") 
Joe.greet() 
 
Pet = Person("Pet").greet() 
 
print(Joe) 
print(Pet) 

输出:

<__main__.Person object at 0x7f1020983080> 
None 

您遇到的问题是 Frame 构造函数返回类型为 Frame 的对象,而 grid 方法不返回任何内容。这就是您出现 NoneType 错误的原因。