Skip to main content
 首页 » 编程设计

python之在 python 中,确定字符串是电子邮件还是整数的最快方法是什么

2025年05月04日19JeffreyZhao

我希望能够使用提供的电子邮件地址或用户 ID(整数)从数据库中提取用户。为此,我必须检测提供的字符串是整数还是电子邮件。寻找最快的方法来做到这一点。谢谢。

def __init__(self, data): 
    #populate class data 
    self._fetchInfo(data) 
 
 
def _fetchInfo(self, data): 
    #If an email 
        #SELECT ... WHERE email = 'data' 
    #or if a user_id 
        #SELECT ... WHERE id = 'data' 
 
    #Fill class attributes  
    self._id = row['id'] 
    self._email = row['id'] 
    ... 

请您参考如下方法:

在 Python 中处理这个问题的规范方法是先尝试,稍后请求原谅:

def _fetchInfo(self, data): 
    try: 
        data=int(data) 
        sql='SELECT ... WHERE id = %s' 
        args=[data] 
    except ValueError: 
        sql='SELECT ... WHERE email = %s' 
        args=[data] 
        # This might fail, in which case, data was neither a valid integer or email address 

这个策略也被称为 "It is Easier to Ask for Forgiveness than Permission" .