作者jijuan ()
看板Python
标题[问题] 请问这种函示该怎麽写比较好
时间Thu Mar 14 15:09:47 2019
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://webptt.com/cn.aspx?n=bbs/Python/M.1552547389.A.FF3.html
2F:→ yougigun: 写成closure 03/14 21:17
3F:推 froce: 写成class,放在 __init__ 里 03/16 14:28