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是固定的,每次呼叫函式都要
傳感覺也不符合函式本身的設計,雖然是可以用預設引數來處理。 但好像還是覺得怪怪的
,想請問這種時候該怎麼寫會比較符合效率還有整體的結構?