Python偏函式例項

2022-07-17 07:48:12 字數 3326 閱讀 3906

目標:

1.編寫乙個gui,生成按鈕

2.通過偏函式,生成按鈕

3.通過裝飾器,實現按鈕輸出資訊功能

1.使用tkinter,建立乙個按鈕

**如下:

handetiandemacbook-pro:~ xkops$ cat button.py

#

!/usr/bin/env python

#-*- coding: utf-8 -*-

import

tkinter

#定義乙個視窗

root =tkinter.tk()

#定義乙個按鈕

b1 = tkinter.button(root, foreground='

white

', background='

blue

', text='

button1')

#包裝b1.pack()

root.mainloop()

•執行**,效果如下圖

2.通過使用偏函式定義按鈕(偏函式定義一些相通部分的內容)

**如下:

handetiandemacbook-pro:~ xkops$ cat button.py

#

!/usr/bin/env python

#-*- coding: utf-8 -*-

import

tkinter

from functools import

partial

root =tkinter.tk()

#使用偏函式定義相同的內容

mybutton = partial(tkinter.button, root, foreground='

white

', background='

blue')

b1 = tkinter.button(root, foreground='

white

', background='

blue

', text='

button1')

b2 = mybutton(text='

button2')

b3 = mybutton(text='

button3')

b4 = mybutton(text='

quit')

b1.pack()

b2.pack()

b3.pack()

b4.pack()

root.mainloop()

•執行**,測試效果

3.定義函式,實現點選button2按鈕,輸出"hello,world"功能,點選quit按鈕,關閉視窗功能。

**如下:

handetiandemacbook-pro:~ xkops$ cat button.py

#

!/usr/bin/env python

#-*- coding: utf-8 -*-

import

tkinter

from functools import

partial

defgreet():

print

"hello, world

"root =tkinter.tk()

mybutton = partial(tkinter.button, root, foreground='

white

', background='

blue')

b1 = tkinter.button(root, foreground='

white

', background='

blue

', text='

button1')

b2 = mybutton(text='

button2

', command=greet)

b3 = mybutton(text='

button3')

b4 = mybutton(text='

quit

', command=root.quit)

b1.pack()

b2.pack()

b3.pack()

b4.pack()

root.mainloop()

•執行**,點選button2和quit按鈕檢視效果

4.通過編寫裝飾器實現,點選不同按鈕,列印不同的資訊。

**如下:

handetiandemacbook-pro:~ xkops$ cat button.py

#

!/usr/bin/env python

#-*- coding: utf-8 -*-

import

tkinter

from functools import

partial

defgreet(word):

defwelcome():

print

"hello, %s

" %word

return

welcome

root =tkinter.tk()

mybutton = partial(tkinter.button, root, foreground='

white

', background='

blue')

b1 = tkinter.button(root, foreground='

white

', background='

blue

', text='

button1')

b2 = mybutton(text='

button2

', command=greet('

world'))

b3 = mybutton(text='

button3

', command=greet('

python'))

b4 = mybutton(text='

quit

', command=root.quit)

b1.pack()

b2.pack()

b3.pack()

b4.pack()

root.mainloop()

•執行**,測試效果,點選button2,後台輸出"hello, world", 點選button3後台輸出"hello, python"

python 偏函式 python 偏函式

functools.partial可以設定預設引數和關鍵字引數的預設值 python的functools模組提供了很多有用的功能,其中乙個就是偏函式 partial function 要注意,這裡的偏函式和數學意義上的偏函式不一樣。在介紹函式引數的時候,我們講到,通過設定引數的預設值,可以降低函式呼...

python偏函式的例項用法總結

1 當函式的引數太多,需要簡化時,使用functools.partial可以建立乙個新的函式。2 這個新的函式可以固定原始函式的部分引數,從而更容易呼叫。作用是固定乙個函式的某些引數 cijguz即設定預設值 返回乙個新函式,呼叫這個新函式會更容易。import functools int2 fun...

python純函式,偏函式

純函式 乙個函式的返回結果只依賴於他的引數,並且只執行過程裡面沒有 我們就把這個函式叫做純函式 即函式不讀取 修改外部變數,全域性變數。3個原則 變數都只在函式作用域內獲取,作為函式的引數傳入 不會產生 不會改變被傳入的資料或者其他資料 全域性變數 相同的輸入保證相同的輸出 是指函式被呼叫,完成可函...