乙個有趣的函式locals

2021-10-05 07:41:40 字數 736 閱讀 4777

這個函式可以用字典方式顯示出函式中的區域性變數,

比如下面的程式:

def

func

(a=1):

b =2print

(locals()

)func(

)

列印出來的區域性變數如下:

這樣看起來,明顯區域性變數被當成字典存於locals中了,因此,我們可以寫乙個稍微複雜的程式,根據傳入引數,直接呼叫內部函式,如下所示:

def

mod(str_cmd, params)

:def

show

(text)

:print

("show list params: {}"

.format

(text)

)print

(locals()

)locals()

[str_cmd]

(params)

mod(

"show"

,"hello world."

)

輸出如下:

show list params: hello world.

看到,區域性變數中存在show這個函式,我們可以直接用locals()str_cmd進行引數呼叫,而不需要像c++中那樣,通過switch進行轉換

乙個有趣的函式 關於時間

最近做專案中要做乙個限制每天領獎的次數,以及每週的領獎的次數。如何判斷上次記錄的時間是否和今天是同一天呢?可能大家一開始的思路就是過24小時不就一天了嗎?呵呵,確實不錯,可是現在區分的是 是否是相同的一天。這就清晰了,只要知道今天是今年的多少天和上次記錄的時間一比較就可以了唄。我把 貼一下,由於是在...

乙個有趣的故事

我有乙個老同學,乙個人娶了兩個老婆,一中一外。這件事情在紐約的華人裡面非常轟動,老同學自己從來不迴避,他經常出沒各種派對,嘴裡叼著雪茄菸,手裡拿著香檳說 我他媽得做個床,能睡三個人的床連他媽美國都沒賣的。老同學的大老婆是個美國人,在華爾街做事情,而且非常出色 二老婆是上海人,我沒見過本人,只看過 漂...

乙個有趣的題目

看到qq群裡有人發了乙個很有意思的題目 如果 昨天是明天就好了,那麼今天就是周五了,請問句中的今天是週幾?晚上睡覺的時候又想起這個問題,發現這個問題還大有文章,其實問題的關鍵在於上面的綠色背景的如果兩個字,既然是如果,那麼思維就可以完全發散,如果時間可以穿越,明天真的可以穿越到昨天,那麼今天其實就是...