Python

Pythonで文字列の大文字と小文字を変換して出力する方法

By 2021年4月18日No Comments

この記事では、Pythonで文字列の大文字や小文字を変換して出力する方法について解説していきます。

大文字と小文字を変換して入れ替えて出力したり、文字列が大文字か小文字かをbool値で判定していきます。

Pythonで文字列の大文字と小文字を変換する方法 

文字列を小文字から大文字に変換するにはupper( )メソッドを使用します。アルファベットのような大文字と小文字の区別がある文字であれば変換することができます。構文は下記になります。

文字列.upper()

hello = 'hello world'
print(hello.upper())

結果:

HELLO WORLD

数値や、かな文字等の大文字と小文字の区別がない文字は変化ありません。

hello = 'hello worldこんにちわ'
print(hello.upper())

結果:

HELLO WORLDこんにちわ

文字列を大文字から小文字に変換するにはlower( )メソッドを使います。構文は下記になります。

文字列.lower()

hello = 'HELLO WORLD'
print(hello.lower())

結果:

hello world

capitalize( )メソッドで最初の文字を大文字にして他を小文字に変換することができます。

hello = 'hello world'
print(hello.capitalize())

結果:

Hello world

各単語の最初の文字を大文字に変換するにはtitle( )メソッドを使います。

hello = 'hello world'
print(hello.title())

結果:

Hello World

記号は単語の区切りとして扱われます。

hello = "he@llo"
print(hello.title())

結果:

He/Llo

単語の途中に大文字がある場合は小文字に変換されます。

hello = 'helloWorld'
print(hello.title())

結果:

Helloworld

大文字と小文字を入れ替えるにはswapcase( )メソッドを使います。

hello = 'Hello World'
print(hello.swapcase())

結果:

hELLO wORLD

このように大文字と小文字を変換して表示するには様々な文字列の形式で出力することができます。

Pythonで文字列が大文字か小文字を判定する方法

isupper( )メソッドは、すべての文字列が大文字かどうかbool値で判定することができます。大文字と小文字の区別がある文字が一文字以上含まれていて、すべてが大文字のときはTrueを返して、それ以外の場合はFalseを返します。

print('HELLO'.isupper())
print('Hello'.isupper())

結果:

True
False

大文字か小文字の区別がない文字は無視して判定されます。

print('HELLOこんにちわ'.isupper())

結果:

True

islower( )メソッドですべての文字が小文字かどうか判定できます。

print('hello'.islower())
print('Hello'.islower())

結果:

True
False

こちらもisupper( )と同様に大文字と小文字の区別がない文字は無視して判定されます。

print('helloこんにちわ'.islower())

結果:

True

Pythonのライブラリであるmojimojiを使うと半角と全角文字を変換することができる

Pythonで日本語の文字列の半角と全角を変換できるmojimojiというライブラリがあります。コマンドでmojimojiをインストールします。

% pip install mojimoji

そして、mojimojiをインポートします。

import mojimoji

zen_to_han( ) 関数を使うと半角から全角へと変換することができます。 引数のデフォルトは全てTrueとなっていて省略できます。構文は下記になります。

zen_to_han( “文字列”, kana=True, digit=True, ascii=True )

import mojimoji
print(mojimoji.zen_to_han("abcde"))

結果:

Hello World

半角から全角への変換はhan_to_zen関数を利用します。構文は下記になります。

han_to_zen( input_string, kana=True, digit=True, ascii=True )
print(mojimoji.han_to_zen("Hello World"))

結果:

Hello World

mojimoijの引数を指定すると、それぞれ数値、英字、カナを指定して変換することができます。han_to_zen( )関数を使用して文字列を指定して半角から全角にしていきます。

引数にkanaを指定するとカナ文字以外を全角に変換します。

print(mojimoji.han_to_zen("カナ123abc", kana=False))

結果:

カナ123abc

引数にdigitを指定すると数値以外を全角に変換します。

print(mojimoji.han_to_zen("カナ123abc", digit=False))

結果:

カナ123abc

数値は変換されていないのが分かります。

引数にasciiを指定すると英字以外を全角に変換します。

print(mojimoji.han_to_zen("カナ123abc", ascii=False))

結果:

カナ123abc

英字が変換されていないのが分かります。全角から半角にするにはzen_to_han( )関数でも同じ指定方法でできます。

まとめ

Pythonで文字列の大文字と小文字を変換することができました。ユーザからの文字入力が必要な場面で数値を入力してもらう時に半角数字で処理したいが、ユーザが全角数字で入力してしまった時などに今回のように数値や文字列を変換したりできます。以上、Pythonで文字列の大文字と小文字を変換して出力する方法についてでした。

Udemyの動画学習でもPythonを勉強しよう!

「平日の夜の勉強会には時間が間に合わなくて参加できない」「通勤時間のわずかな隙間時間を勉強時間にあてたい」「本ではよく分からないところを動画で理解を深めたい」そんなあなたはUdemyの動画学習がお勧めです!

UdemyのPythonおすすめ33講座レビューリスト
HOSL

Author HOSL

More posts by HOSL