如何优化函数逻辑以避免重复- python



我在下面有一些代码,对于一个给定的名称,匹配模式与2个小写字母(如'aa'),有效的名称可以是V-aaX-aa

def verify_helper(valid_name):
do something
return true #meaning the name starts either V or X is valid

def example(name): 

if re.match("^[a-z]{2}$", name)
valid_name_1 = f"V-{name}"
valid_name_2 = f"X-{name}"  

verify_helper(valid_name_1)
verify_helper(valid_name_2)  

我的问题是:我能不能这样做:

def example(name): 

if re.match("^[a-z]{2}$", name)
valid_name_1 = f"V-{name}"
valid_name_2 = f"X-{name}"  

if valid_name matches either 'V-' or 'X-'
call the first function 

根据您的描述,我假设无论namesvalid,verify_helper()在计算上都是昂贵的。

现在你想优化代码,让verify_helper()只对valid names执行。

如果是这种情况,您可以在verify_helper()中设置这样的条件。

def verify_helper(name):
if re.match("^[XV]-[a-z]{2}", name): # checks for valid names like X-aa, X-aa11, V-bb etc.
# do something only for valid names
return True
else:
return False

最新更新