code: def check_number(cls, id_number):
          
          if isinstance(id_number, int):
              id_number = str(id_number)
  
          # 调用函数计算身份证前面17位的 checkcode
          result = IdCard.get_checkcode(id_number[0:17])
  
          # 返回第一个 flag 是错误的话，表示身份证格式错误，直接透传返回，第二个为获得的校验码
          flag = result[0]
          checkcode = result[1]
  
          if not flag:
              return flag,
  
          # 判断校验码是否正确
          return checkcode == id_number[-1].upper(),
docs: 检查身份证号码是否符合校验规则；
  
          :param:
              * id_number: (string) 身份证号，比如 32012419870101001
          :returns:
              * 返回类型 (tuple)，当前有一个值，第一个为 flag，以后第二个值会返回具体校验不通过的详细错误
              * flag: (bool) 如果身份证号码校验通过，返回 True；如果身份证校验不通过，返回 False
  
          举例如下::
  
              from fishbase.fish_data import *
  
              print('--- fish_data check_number demo ---')
  
              # id number false
              id1 = '320124198701010012'
              print(id1, IdCard.check_number(id1)[0])
  
              # id number true
              id2 = '130522198407316471'
              print(id2, IdCard.check_number(id2)[0])
  
              print('---')
  
          输出结果::
  
              --- fish_data check_number demo ---
              320124198701010012 False
              130522198407316471 True
              ---