久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

python中def定義的函數(shù)加括號和不加括號的區(qū)別?

瀏覽:142日期:2022-06-28 17:23:42

問題描述

程序如下:

import tkinter as tkwindow = tk.Tk()window.title('我的程序')window.geometry(’400x300’)var = tk.StringVar()lable = tk.Label(window,textvariable = var,font = ((’微軟雅黑’),12))lable.pack()on_hit = Truedef run(): global on_hit if on_hit == True:on_hit = Falsevar.set(’you hit me’) else:on_hit = Truevar.set(’’)button = tk.Button(window,text = ’hit’,font = ((’微軟雅黑’),12),command = run)button.pack()window.mainloop()

這個(gè)程序的效果是 有一個(gè)按鈕,按一下,就出現(xiàn)you hit me 再按一下就消失,如此循環(huán)為什么button寫成button = tk.Button(window,text = ’生成題目和答案’,font = ((’微軟雅黑’),12),command = run()),函數(shù)調(diào)用時(shí)加了括號,再按按鈕,就一直是you hit me ,上面的lable里的內(nèi)容不再變化了?

問題解答

回答1:

button = tk.Button(window,text = ’hit’,font = ((’微軟雅黑’),12),command = run)

這句,只是將run這個(gè)函數(shù)本身讓button保存下來,在button被點(diǎn)擊后會(huì)自動(dòng)調(diào)用(相當(dāng)于點(diǎn)擊后才運(yùn)行run())。如果改成

button = tk.Button(window,text = ’hit’,font = ((’微軟雅黑’),12),command = run())

解釋器會(huì)在看到這句的時(shí)候立即調(diào)用一次run(),然后把調(diào)用的返回值讓button保存下來,現(xiàn)在button被點(diǎn)擊后調(diào)用的就是這個(gè)返回值(這個(gè)例子下就是None)。

回答2:

command有兩種方式調(diào)用:b = Button(... command = button)b = Button(... command = lambda: button(’hey’))

你想要用()調(diào)用的話可以用lambda寫:button = tk.Button(window,text = ’生成題目和答案’,font = ((’微軟雅黑’),12),command =lambda:run())

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 欧美一区二区三区国产精品 | 国产成人精品亚洲777人妖 | 欧美精品亚洲精品日韩精品 | 成人高清视频免费观看 | 另类色| 成人精品视频免费在线观看 | 玖玖精品在线 | 亚洲高清av在线 | 91丨九色丨国产在线 | 91精品国产综合久久久久久丝袜 | 很黄很色很爽的视频 | 成人羞羞在线观看网站 | 精品国产乱码一区二区三区a | 中文字幕国产视频 | 高清视频一区二区三区 | 国产日韩欧美视频 | 成人欧美一区二区三区白人 | 国产日韩av在线 | 成人不卡视频 | 欧美一级毛片久久99精品蜜桃 | 国产成人精品一区一区一区 | 国产欧精精久久久久久久 | 国产视频一区二区在线 | 欧美国产综合 | 久久九 | 精品久久一区二区三区 | www.久久久久久久久久久久 | 96久久久久久 | 国产98色在线 | 日韩 | 日韩免费 | 成人毛片在线视频 | 欧美福利一区 | 亚洲精品乱码久久久久久按摩观 | 国产精品久久久久久久久 | 国产v日产∨综合v精品视频 | 久久精品六| 妹子干综合| 亚洲第一男人天堂 | 国产ts余喵喵和直男多体位 | 中文字幕在线观看亚洲 | 国产激情视频在线 |