検索

ホームページ  >  に質問  >  本文

Python の def で定義された関数に括弧ありと括弧なしの違いは何ですか?

手順は次のとおりです。

リーリー

このプログラムの効果は、ボタンがあるということです。押すと、hit me が表示されます。もう一度押すと、消えます。このサイクルです。
なぜボタンは button = tk.Button と書かれているのか(window, text = '質問と回答の生成' 、font = (('Microsoft Yahei'),12)、command = run())、関数を呼び出すときに括弧を追加し、もう一度ボタンを押すと、常にヒットします上のラベルの内容は変更されなくなります。

我想大声告诉你我想大声告诉你2726日前993

全員に返信(2)返信します

  • phpcn_u1582

    phpcn_u15822017-06-12 09:29:41

    リーリー

    この文では、 run 関数 自体でボタンを保存するだけで、ボタンをクリックした後に自動的に呼び出されます ( をクリックした後に実行するのと同等)。 run()
    に変更した場合 リーリー

    インタプリタはこの文を見るとすぐに

    を呼び出し、run() 呼び出しの戻り値 をボタンに保存します。今度は、ボタンがクリックされた後に戻り値が呼び出されます (この例では何もありません)。

    返事
    0
  • 天蓬老师

    天蓬老师2017-06-12 09:29:41

    command は 2 つの方法で呼び出すことができます:
    b = Button(... command = button)
    b = Button(... command = lambda: button('hey'))

    () を使用して呼び出したい場合は、ラムダを使用して次のように記述できます:
    button = tk.Button(window, text = '質問と回答の生成', font = (('Microsoft Yahei'),12), command =ラムダ: run())

    返事
    0
  • キャンセル返事