如何优化功能逻辑以避免重复 - python
How to optimise function logic to avoid duplication - python
我在下面有一些代码,对于一个给定的名称,它与模式匹配有 2 个小写字母(例如 'aa'),有效名称可以是 V-aa
或 X-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
根据您的描述,我假设 verify_helper()
的计算量很大,而不管 names
是 valid
。
现在你想优化代码,让 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
我在下面有一些代码,对于一个给定的名称,它与模式匹配有 2 个小写字母(例如 'aa'),有效名称可以是 V-aa
或 X-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
根据您的描述,我假设 verify_helper()
的计算量很大,而不管 names
是 valid
。
现在你想优化代码,让 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