Всякий раз, когда я что-то программировать в Python с Tkinter
, код выглядит следующим образом:параметры «Неопределенные» в вызовы функций в Python
from Tkinter import *
class GUI():
def __init__(self, master):
self.master = master # master is an instance of Tk
self.master.title("") # set the name of the window
self.frame = Frame(self.master, width=800, height=500, bg="#eeeeee")
# 800, 500 and "#eeeeee" are examples of course
self.frame.pack()
self.canvas = Canvas(self.frame, width=800, height=500, bg="ffffff")
self.canvas.place(x=0, y=0)
#mostly there are some other widgets
# here are obviously other methods
def main():
root = Tk()
app = GUI(root) # root and app.master are synonyms now
app.master.mainloop()
if __name__ == '__main__':
main()
Моя проблема, я не понимаю, почему Frame(width=800, height=500)
или place(x=0, y=0)
работает : Я не определял параметры height
, width
, x
и y
. Рассматривая код в модуле Tkinter
, функции ожидают параметр, называемый *args
или **kw
. Я знаю, как их использовать (по крайней мере, достаточно для разработки небольших приложений), но я не знаю, как определить функцию, которая использует эти параметры. Я чувствую, что не очень разбираюсь в этой части питона, хотя я могу работать с ней.
Так что мой вопрос:
как можно определить функцию, то, что называется со следующим синтаксисом:
functionName(parameterName1 = value, paramterName2 = value, ...)
мне не нужно знать, как сделать функцию, что принимающий, меняющийся количество параметров (в сочетании с моей проблемой), но было бы неплохо.
В любом базовом учебнике python показано, как это сделать. Здесь [Определение функций] (https://docs.python.org/3/tutorial/controlflow.html#defining-functions) в стандартном учебнике. – tdelaney