普通にやるなら
def _is_hex(val):
try:
int(val, 16)
return True
except ValueError, e:
return False
とか書くんですけど、まあ冗長っていえば冗長ですよね。
どうしても、なんとなく例外処理とか書きたくない場合は、
a = 'FF00FF'
import string
set(a).issubset(set(string.hexdigits))
-> True
という荒業もあります。
まあ、素直にreモジュールで正規表現使った方が早いかもしれませんけどね・・・