gpt4 book ai didi

python - 使用正则表达式来避免 if elifs

转载 作者:行者123 更新时间:2023-11-28 16:48:04 28 4
gpt4 key购买 nike

我是 Python 的新手,我用它来做一个丑陋的小 put-this-tabular-data-into-a-db 转换。该程序查看数据,在 MySQL 中创建一个表,然后将数据读入表中。在本节中,将检查标题行文本以确定有关数据类型的一些决定。我有一个想法,我可以聪明地用一个正则表达式而不是 if/elifs 来做到这一点。我的解决方案至少适用于这种情况,我不必担心多次匹配。我想问的是,这种方法在效率方面有什么真正的优点吗?

def _typeMe(self, header_txt):
# data typing
colspecs = {
'id':'SMALLINT(10)',
'date':'DATE',
'comments':'TEXT(4000)',
'flag':'BIT(1)',
'def':'VARCHAR(255)'
}
# regex to match on header text e.g. 'Provisioner ID'
r = re.search(re.compile('(ID$)|(Date)|(Comments$)|(FLAG$)', re.IGNORECASE), header_txt)
checktype = lambda m: max(m.groups()).lower() if m else 'def'
return colspecs[checktype(r)]

最佳答案

当然;你得到的是data-driven programming .总的来说,这是一种很好的风格,因为它使您可以轻松进行更改,而不必担心重复代码部分。

就性能而言,不太可能产生太大差异;重要的是它比替代方案更可读和更可维护

关于python - 使用正则表达式来避免 if elifs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11743251/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com