版本:python3.6
模組:functools,tkinter
在python3.6中,模組名稱是tkinter而不是tkinter,tkmessagebox也由單獨的模組整合進了tkinter.messagebox。
借助偏函式鎖定引數的功能可以按類『批量』設定tkinter中的控制項,使語句更加簡練。
from functools import輸出如下:partial
from tkinter import
tk,button,x, messagebox
warn = '
warn
'crit = '
crit
'regu = '
regu
'signs =
critcom = lambda: messagebox.showerror('
error
','error button pressed!
') #
需要lambda賦值為函式,否則只是直接執行showerror
regucom = lambda: messagebox.showinfo('
info
','regular handle, sit down!')
warncom = lambda: messagebox.showwarning('
warning
','warning button pressed!')
top =tk()
top.title(
'road signs')
top.geometry(
'250x300')
button(top,text='
quit
',command = top.quit,bg = '
red', fg = '
white
').pack(fill = x , expand =0)
mybutton =partial(button,top) #第一階模組化button
critbutton = partial(mybutton,command = critcom, bg = '
white
', fg = '
red'
) #第二階模組化button
warnbutton = partial(mybutton,command = warncom, bg = '
goldenrod1')
regubutton = partial(mybutton, command = regucom, bg = '
white')
for eachsign in
signs:
signtype =signs[eachsign]
cmd = '
%sbutton(text = %r%s).pack(fill = x, expand = 1)
'%(signtype.title(),eachsign,'
.upper()
'if signtype ==crit else
'.title()
') #-r會給字串加單引號
eval(cmd) #將字串轉換成可以執行的命令語句
top.mainloop()
python偏函式和高階函式 高階函式與偏函式
今天主要在這裡仔細說明一下高階函式與偏函式的知識。高階函式 在絕大多數通常的計算機語言裡,函式的引數只接受基本的資料型別或是物件的引用,返回值也只是基本資料型別或者物件引用。示例如下 function test1 else return function console.log 資料不符合規範,錯誤...
偏函式 python Python的偏函式應用
在使用函式的時候,偶爾會遇到這種情況 某個函式帶 n 個引數,但在重複使用的過程中,實際只有其中少數幾個引數會不同,其他引數的值都是一樣的。那麼如何可以在多次使用這種函式時,減少輸入重複引數的次數或乾脆避免輸入這些引數呢?答案之一是使用預設引數。拿我們常用的 int 函式舉例,當我們使用 help ...
偏函式與部分應用函式
首先偏函式是個數學概念,偏函式不是 函式 的一種,而是乙個跟函式平行的概念.定義可參考wiki 它是指定義域x中可能存在某些值在值域y中沒有對應的值.scala可以通過模式匹配來定義偏函式,下面這兩種方式定義的函式,都可以認為是偏函式,因為他們都只對其定義域int的部分值做了處理.那麼像p1哪有定義...