UTF-8対応です。
#全て半角カタカナか?
#Pythonの正規表現で、渡された文字列が全て半角カタカナかチェックします。(UTF-8向け)
#Python 正規表現 半角カタカナ UTF8
regexp = re.compile(r'^(?:\xEF\xBD[\xA1-\xBF]|\xEF\xBE[\x80-\x9F])+$')
result = regexp.search("。アイウエオカキクケコサシスセソタチツテトナニヌネノハイフヘホマミムメモラリルレロヤユヨワン゚")
if result != None :
print(u"すべてが半角カタカナである".encode('shift_jis'))
else :
print(u"すべてが半角カタカナではない".encode('shift_jis'))
#↓
#"すべて半角カタカナである"
※標準出力をUnicode→SJISに変換しているのは、開発環境がWindows+Eclipseの都合です。Windows+Eclipseのコンソールは、SJISエンコーディングオンリーなので。