Python 文字列 -入門編-
目次 [閉じる]
Python の文字列
※print による出力は Python2 までは print "abcdef" だったのに対して、 Python3 では print ("abcdef") となります。
1 2 3 | # -*- coding: utf-8 -*- print ('Hello,world!') #シングルクォート print ("Hello,world!") #ダブルクォート |
Hello,world!
複数行の表示
「"(ダブルクォート)」や「'(シングルクォート)」を3個並べて文字列を囲むことで複数行の文字列を扱うことが出来ます。
1 2 3 4 5 6 7 | # -*- coding: utf-8 -*- stringTest = ''' There is always light behind the clouds. Change before you have to. If you can dream it, you can do it. ''' print (stringTest) |
Change before you have to.
If you can dream it, you can do it.
日本語の表示
coding を shift_jis に指定します。
1 2 3 | # -*- coding: shift_jis -*- print ('こんにちは!') #シングルクォート print ("こんにちは!") #ダブルクォート |
こんにちは!
文字列 へ型変換
1 2 3 4 5 6 | # -*- coding: utf-8 -*- intTest = 100 print (type(intTest)) #データ型は数値 intTest = str(intTest) #文字列へ型変換 print (type(intTest)) #データがは文字列 |
<class 'str'>
intTest は最初、数値の100を代入しているので、データ型は int になります。その後、str()関数 で型変換させて、intTest に再代入して、型を確認すると str となります。
文字列の操作
文字列の連結
文字列の連結は「 + 」演算子を使用します。文字列リテラル(リテラルとは値そのもののこと)や文字列変数を連結させることが出来ます。
1 2 3 4 5 6 7 8 9 10 | # -*- coding: utf-8 -*- #文字列の連結 #文字列リテラル strTest = 'Hello' + ',' + 'world' + '!' print (strTest) #文字列変数 mammalian = 'whale'; birds = 'carrion crow' reptiles = 'frog' print (mammalian + ',' + birds + ',' + reptiles) |
whale,carrion crow,frog
文字列の繰り返し
「 * 」演算子で文字列の繰り返しを指定できます。
1 2 3 4 5 6 | # -*- coding: utf-8 -*- #文字列の繰り返し strLine1 = 'aaa ' * 2 strLine2 = 'bbb ' * 3 strLine3 = 'ccc ' * 4 print (strLine1 +'\n'+ strLine2 +'\n'+ strLine3) |
bbb bbb bbb
ccc ccc ccc ccc
文字列の検索
文字列の始まりを検索( startswith()関数 )、文字列の終わりを検索( endswith()関数 )、文字列の中の任意の文字を検索( inステートメント )、など、文字列に対して様々な検索機能が用意されています。
startswith()関数、endswith()関数、inステートメント では、条件にマッチすると True を返し、マッチしないと False を返します。True や False は論理型(bool型)の論理値です。プログラム中で真偽を表す値です。True False は頭文字が大文字です。
1 2 3 4 5 6 7 | # -*- coding: utf-8 -*- #文字列の検索 strSearch = 'Hello,world!' print (strSearch.startswith('Hello')) #文字列の始まりを検索 print (strSearch.endswith('world!')) #文字列の終わりを検索 print ('d!' in strSearch) #任意の文字を検索 print ('z' in strSearch) #任意の文字を検索 |
True
True
False
文字列の大きさを調べる
文字列のサイズを調べるには len()関数 を利用します。
1 2 3 4 | # -*- coding: utf-8 -*- #文字列の大きさ strSize = 'Hello,world!' print (len(strSize)) |
文字列の分割
文字列を分割するには split()関数 を使用します。この関数では、分割するためのセパレータを指定します。例では「,」がセパレータとなっています。分割に成功するとリスト(list)形式で値が返ってきます。
1 2 3 4 5 | # -*- coding: utf-8 -*- #文字列の分割 strSplit = 'Hello,world!' strSplit = strSplit.split(',') print (strSplit) |
文字列の結合
文字列の結合は join()関数 を使用します。リスト(list)形式の文字列を結合します。split()関数 の逆の作用です。
1 2 3 4 5 6 7 | # -*- coding: utf-8 -*- #文字列の結合 strJoin = 'Hello,world!' strJoin = strJoin.split(',') print (strJoin) strJoin = ','.join(strJoin) print (strJoin) |
Hello,world!
文字列の置換
文字列の置換は replace()関数 を使用します。置換前の文字列と置換後の文字列を指定します。置換回数を指定することもできます。回数を省略すると置換は一回のみとなります。
1 2 3 4 5 6 7 8 9 | # -*- coding: utf-8 -*- #文字列の置換 strReplace = 'Hello,world!' strReplace = strReplace.replace('world', 'japan') print (strReplace) #回数指定 strReplaceMulti = 'Hello,world! Hello,world! Hello,world!' strReplaceMulti = strReplaceMulti.replace('world', 'japan', 2) print (strReplaceMulti) |
Hello,japan! Hello,japan! Hello,world!
文字列の大文字小文字
upper()ですべて大文字、lower()ですべて小文字、title()で単語の先頭文字のみ大文字、swapcase()で大文字と小文字を逆転。
1 2 3 4 5 6 7 | # -*- coding: utf-8 -*- ### 大文字小文字 strUppLow = "my life didn't please me, so i created my life." print(strUppLow.upper())#すべて大文字 print(strUppLow.lower())#すべて小文字 print(strUppLow.title())#単語の先頭文字を大文字 print(strUppLow.swapcase())#大文字小文字を逆転 |
my life didn't please me, so i created my life.
My Life Didn'T Please Me, So I Created My Life.
MY LIFE DIDN'T PLEASE ME, SO I CREATED MY LIFE.
エスケープシーケンス
' ・・・ ' シングルクォート で囲っている文字列中に「 ' 」がある場合、「 ' 」の前に 「\ (バックスラッシュ)」を配置します。このようにすることで、' はただの文字列として扱われます。このようにしないと、文字列中に出てくる 「 ' 」が文字列の終わりを意味することになってしまいます。
1 2 | # -*- coding: utf-8 -*- print ('my life didn't please me, so i created my life.') #エラーになる |
didn't → didn\'t
1 2 | # -*- coding: utf-8 -*- print ('my life didn\'t please me, so i created my life.') # |
「 \n 」は、改行を意味するコードです。nの前に「\ (バックスラッシュ)」を配置することで、特別な意味になります。
1 2 | # -*- coding: utf-8 -*- print ('A\nB\nC\nD') |
B
C
D
タグ(=記事関連ワード)
日付
最終更新日:2024年09月05日