我在分析这些代码行时遇到问题,如果您想查看整个代码,可以将其发布。
你们能解释一下这是怎么回事吗?
我打算用tkinter和sqlite创建一个数据库程序,我有一台Windows PC。
我没有写我只是想学习的代码。
class meh(Tkinter.Frame):
def __init__(self, parent):
Tkinter.Frame.__init__(self, parent)
self.parent=parent
self.initialize_user_interface()
这是怎么回事?
def __init__(self, parent):
Tkinter.Frame.__init__(self, parent)
答案 0 :(得分:0)
Python支持object-oriented编程。 OOP的核心概念之一是继承,这意味着一个类可以“继承”另一个类的方法。例如
class Animal:
def __init__(self, name): # The __init__ function is called when an object is
self.name = name # instantiated. That's called a "constructor"
print('Created ' + name)
def make_sound(self):
print("...")
def die(self):
print(self.name + ' died.')
class Cat(Animal): # The class in the parenthesis is the superclass.
def make_sound(self): # A cat makes a different sound from any other animal,
print("Meow") # so we give it its own make_sound method. But it dies
# the same as any other animal, so it will inherit
# the die method from the superclass.
现在,当我们尝试此代码时:
>>> fluffy = Animal('Fluffy')
Created Fluffy
>>> fluffy.make_sound()
...
>>> fluffy.die()
Fluffy died.
>>> kitty = Cat("Kitty")
Created Kitty
>>> kitty.make_sound()
Meow
>>> kitty.die()
Kitty died.
现在,让我们看看您提供的代码:
class meh(Tkinter.Frame):
此行创建一个从Tkinter.Frame
继承的类。这意味着它应该能够执行Frame可以做的任何事情,这很可能就像包含UI元素一样。
def __init__(self, parent):
这是一个构造函数,在您创建新的meh
时会被调用。它以parent
作为参数。我会检查文档,但是在UI开发中,这通常意味着应该在其中显示的界面元素。例如,父级可能是窗口或其他框架。
Tkinter.Frame.__init__(self, parent)
这正在调用类__init__
的{{1}}方法。这基本上意味着,他们在定义Tkinter.Frame
的 中没有定义要做的事情而不是Tkinter.Frame
在其构造函数中做的事情。