Rumah > Artikel > pembangunan bahagian belakang > Bilakah Fungsi Parameter \'arahan\' Butang Dilaksanakan?
Dalam Python tkinter, parameter "perintah" untuk widget Butang bertujuan untuk menentukan fungsi untuk dilaksanakan apabila butang ditekan. Walau bagaimanapun, salah tanggapan yang biasa di kalangan pemula ialah pemerhatian bahawa fungsi yang dikaitkan dengan "perintah" dilaksanakan walaupun pada masa pengisytiharan butang.
Untuk memahami tingkah laku ini, kita perlu menyelidiki cara Python mengendalikan parameter fungsi. Apabila anda menghantar fungsi sebagai parameter, terdapat dua kemungkinan:
Dalam kod contoh yang anda berikan, Hello() dihantar sebagai parameter kepada widget Button, yang bermaksud bahawa fungsi itu dilaksanakan serta-merta, dan nilai pulangannya dihantar kepada "perintah." Oleh kerana Hello() tidak mengembalikan apa-apa, ia mengembalikan Tiada, yang kemudiannya diberikan kepada parameter "perintah" butang, dengan berkesan tidak melakukan apa-apa.
Untuk menyelesaikan isu ini dan laksanakan fungsi hanya apabila butang diklik, anda harus lulus objek fungsi, seperti ini:
<code class="python">hi = Button(frame, text="Hello", command=Hello)</code>
Dengan cara ini, apabila butang ditekan, fungsi Hello() akan dipanggil dan akan melaksanakan kod yang dimaksudkan.
Selain itu , jika anda perlu menghantar hujah kepada fungsi, anda boleh menggunakan ungkapan lambda untuk membungkus panggilan fungsi, seperti yang ditunjukkan di bawah:
<code class="python">hi = Button(frame, text="Hello", command=lambda: Goodnight("Moon"))</code>
Dalam kes ini, ungkapan lambda memastikan fungsi Goodnight() tidak dilaksanakan pada masa pengisytiharan butang, sebaliknya menunggu sehingga butang diklik dan arahan dilaksanakan.
Atas ialah kandungan terperinci Bilakah Fungsi Parameter \'arahan\' Butang Dilaksanakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!