概要
Pythonでは全ての半角英字から成るString型の定数が組み込みで用意されています。
なので、以下のような文字列をハードコーディングしたり、定数として新たに用意する必要はありません。
lower_alphabet = "abcdefghijklmnopqrstuvwxyz"
使い方
以下のコードでstringライブラリのimportから定数の呼び出しまでを行えます。
# stringをimport
>>> import string
# 大文字、小文字の半角英字
>>> string.ascii_letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
# 小文字の半角英字
>>> string.ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'
# 大文字の半角英字
>>> string.ascii_uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
# 0~9までの数字
>>> string.digits
'0123456789'
# 16進数の数字
>>> string.hexdigits
'0123456789abcdefABCDEF'
# 8進数の数字
>>> string.octdigits
'01234567'
また、これらの定数は+演算子で組み合わせて使うことができます。
>>> string.ascii_letters + string.digits
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
この定数を使用して文字列が半角英数のみで構成されているかどうかを以下のコードで判別できます。
# 半角英数字のみで構成された文字列"HelloWorld2019"をチェック
>>> input_string = "HelloWorld2019"
# 入力された文字列に含まれる文字の集合が半角英数字全体の部分集合であるかをチェック
>>> set(input_string).issubset(set(string.ascii_letters + string.digits))
True
# 半角英数字以外の文字を含む文字列"HelloWorld!!!"
>>> input_string = "HelloWorld2019!!!"
>>> set(input_string).issubset(set(string.ascii_letters + string.digits))
False
追記
文字列が半角英数のみで構成されているかどうかはisalnum()で判別可能です。
>>> "HelloWorld2019".isalnum()
True
>>> "HelloWorld!!!".isalnum()
False