Pythonで文字列を扱うには?文字列の基本操作を解説

Pythonの文字列型について知りたい
Pythonで文字列の連結・変換・検索をするにはどうすればいいの?

プログラミングをする上で、文字列操作を行う機会はよくあります。たとえば、文字列の中に意図した文字列が入っているか検索したい、文字列を部分的に他の文字列に置き換えたいなど。

そこで、今回は、Pythonにおける文字列の基本的な使い方について、やさしく解説していきたいと思います。文字列の操作には色んな種類があり、それぞれどれも覚えておいて損はないものばかりです。

この記事では、文字列操作について以下の内容で解説していきます。

  • 文字列とは
  • 文字列の連結、変換、検索、置き換え、大文字小文字変換、桁揃え
  • 文字列の比較方法
  • 文字列が日本語を含む場合の対処法

文字列操作は覚えてしまえば、それほど難しくありませんので、この機会にぜひ理解しておきましょう。

Pythonで文字列を宣言するには

そもそも文字列とはその名の通り「文字の列」で構成された基本的なデータ型の一つです。文字列はリスト型やタプル型等と同じようにシーケンス型にも属します。

また、文字列はイミュータブルな型でもあります。イミュータブルとは変更が出来ない型のことを言います。

文字列の一部を書き換えたり、消したりすることはできず、変更を加えたいのであれば新しいオブジェクトを作った上で変更を加えなければなりません。

Pythonで文字列を扱うには、ダブルクォート(“)かシングルクォート(‘)で囲む必要があります。

このように、mystr1とmystr2といった文字列型のオブジェクトを作ることができましたね。

Pythonで文字列を扱う方法

それでは早速、文字列の使い方を見ていきましょう。

文字列の連結

二つの文字列を一つの文字列に組み合わせたい場合は、文字列の連結を行います。

「+」演算子を使用することで、二つの文字列の連結が簡単に行うことが出来ます。

以下のコードをご覧ください。

実行結果

こちらのコードでは、文字列Helloを格納するmystr1とworldを格納するmystr2を連結しました。

また、変数を文字列に埋め込んで連結することも出来ます。

実行結果

文字列と数値の変換

数値を文字列として扱いたい場合や、その反対に文字列を数値として扱いたい場合は文字列の変換を行います。

まずは、文字列を整数に変換する方法を解説します。

以下のコードをご覧ください。

実行結果

こちらのコードでは、mystrを整数に変換してみました。

変換を行うには、int関数を使用します。int関数の引数として、変換したい文字列を渡すだけです。

今度は反対に、整数から文字列に変換したい場合をご紹介します。

以下のコードをご覧ください。

実行結果

先ほどとの違いは、int関数のかわりにstr関数を使用するところです。

文字列の検索

ある文字列の中に特定の文字列が含まれているか調べたい場合は、findメソッドを使いましょう。

以下のコードをご覧ください。

実行結果

findメソッドは、引数に指定した文字列が最初に現れるインデックスを返します。また、その文字列が存在しなかった場合は、-1を返します。

こうして簡単に、文字列の検索とインデックスを調べる事が出来ました。インデックスを調べる必要が無い場合は、文字列の検索にin演算子を使用する事が出来ます。

以下のコードをご覧ください。

実行結果

こちらのコードでは、URLの中に含まれるドメインの文字列をin演算子で調べてみました。実際、GoogleドメインはURLに含まれているので、Trueと表示されましたね。

文字列の置き換え

文章の中にある文字列を、指定した文字列に置換する事も出来ます。

置換ではreplaceメソッドを使いましょう。

以下のコードをご覧ください。

実行結果

こちらのコードでは、文字列Hello worldのworldの部分をeveryoneに置き換えてみました。replaceメソッドは、第一引数に指定した文字列をmystrの中から抽出し、それを第二引数に指定した文字列に置き換えます。

大文字小文字の変換

文字列の大文字・小文字を変換した場合はupperメソッド及び、lowerメソッドを使用します。

以下のコードをご覧ください。

実行結果

upperメソッドで大文字、lowerメソッドで小文字に簡単に変換できることがわかりますね!

桁を揃える

プログラムによっては文字列の桁数を揃えて出力したい場合もあります。たとえば、指定した文字や数字で文字列の桁数を揃えたい場合はrjustメソッドを使用します。

以下のコードをご覧ください。

実行結果:

このように指定した桁数で揃えることができますね!

ちなみに第二引数の文字は数値・文字・記号などを指定することができます。

文字列の比較方法

二つの文字列が同じかどうか判断するために、文字列を比較したい場合があります。

そんな時は、「==」という比較演算子を使用します。

以下のコードをご覧ください。

実行結果

こちらのコードでは、Helloを格納するmystr1がmystr2と同じかどうか確かめてみました。「==」という演算子は、左右の文字列が一致する場合はTrue、異なる場合はFalseを返します。

ご覧いただけるように、Helloとworldは異なるのでFalseが表示されました。また、「==」演算子の他にもis演算子を使う方法もありますが、これは推奨されていません。

詳しくは、こちら記事でご確認ください。

【Python入門】文字列の比較方法まとめ
更新日 : 2019年4月15日

formatメソッドの使い方

今までは、変数を文字列に埋め込む方法として%演算子を使用する方法が主流でした。しかし、Python2.6以降はformatメソッドを使用することが可能になりました。

formatメソッドについて詳しく知りたい方は以下の記事を参考にしてください。

【Python 入門】formatメソッドで変数の内容を出力する方法
更新日 : 2019年6月21日

そもそもPythonとは

Pythonの基本についておさらいしておきたい方については、以下の記事を参考にしてください。

まとめ

今回はPythonにおける基本的な文字列の使い方と、その活用法について解説しました。文字列の操作は知っておけば知っておくほど便利なものばかりなので、しっかり覚えておいて損はありません。

本記事を通して、ご自身でも試して理解を深めてくださいね。

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

Kotono

Kotono

イタリア在住15年目の22歳です。イタリアの大学で情報科学&応用数学を学んでいます。主にJavaScriptやPythonについての記事を書いたりしています。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説