[問題] 請問這種函式該怎麼寫比較好
import re
def check_name(input_string):
regex = re.compile(r'[a-zA-Z.]+\s[a-zA-Z.]+')
result = regex.match(input_string)
# to do
如果把regex的編譯寫在函式裡,代表每次被呼叫它都會被執行一次,我試過呼叫函式1000
0次來測試時間,發現如果把regex = re.compile(r'[a-zA-Z.]+\s[a-zA-Z.]+') 這行寫在
函式外,速度會快接近一倍。
可是這樣寫的話又脫離了函式本身,比方說可能把宣告好要用的各種變數, 然後很多行後
才定義函式,感覺程式行數比較多的話看起來很不直觀。
想到一個方法是把regex當作引數傳進去,但因為這個 regex是固定的,每次呼叫函式都要
傳感覺也不符合函式本身的設計,雖然是可以用預設引數來處理。 但好像還是覺得怪怪的
,想請問這種時候該怎麼寫會比較符合效率還有整體的結構?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.233.29.85
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1552547389.A.FF3.html
推
03/14 18:31,
6年前
, 1F
03/14 18:31, 1F
→
03/14 21:17,
6年前
, 2F
03/14 21:17, 2F
推
03/16 14:28,
6年前
, 3F
03/16 14:28, 3F
Python 近期熱門文章
PTT數位生活區 即時熱門文章