av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

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

瀏覽:130日期: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()

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

問題解答

回答1:

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

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

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

解釋器會在看到這句的時候立即調(diào)用一次run(),然后把調(diào)用的返回值讓button保存下來,現(xiàn)在button被點擊后調(diào)用的就是這個返回值(這個例子下就是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)文章:
主站蜘蛛池模板: 91免费电影| 天天欧美 | 国产成人精品综合 | 国产成人精品一区二 | 欧美久久久久久久 | 国产精品毛片 | 久久国产高清 | 国产高清av免费观看 | 国产精品久久精品 | 久久宗合色 | 中文字幕欧美一区 | 91性高湖久久久久久久久_久久99 | 欧美久 | a亚洲精品| ww 255hh 在线观看 | 久久人 | 午夜一区 | 欧美舔穴 | 国产精品二区三区在线观看 | 亚洲国产成人精品久久 | 一片毛片 | 亚洲成人av | 国产高清亚洲 | 欧美一级大片 | 欧美一区二区精品 | 日本一区二区三区四区 | 成人在线一区二区三区 | 精品亚洲一区二区三区四区五区 | 99色视频 | 国产一级久久久久 | 免费视频一区二区 | 中文字幕日韩欧美一区二区三区 | 日韩欧美一区二区三区免费观看 | 手机看黄av免费网址 | 久久九九影视 | 久久国产日韩 | 刘亦菲国产毛片bd | 亚洲人成人一区二区在线观看 | 日韩在线免费视频 | 久久久久久999 | 久久久久久久99 |