Pythonの文字列についてまとめてみた

Python

Pythonの文字列

pythonではシングルクォーテーションもしくはダブルクオーテーションで囲むことで文字列として使用することが出来る。

print('hello')  #hello
print("hello")  #hello

シングルクォーテーションで囲んだ文字列の中でシングルクォーテーションを使用するとエラーになる。その場合、外側のシングルクォーテーションをダブルクオーテーションに変更することで解決する。

#シングルクォーテーションを含む文字列をシングルクォーテーションで囲むとエラーになる
print('Idon't know')  #SyntaxError: invalid syntax
 #外側をダブルクオーテーションで囲む
print("I don't know") #I don't know
#もしくはバックスラッシュを入れることでシングルクォーテーションをエスケープすることができる
print('I don/'t know') #I don't know

改行

printで文字列を出力する際に改行をする方法

#/nを使用する
print('I don/'t know /nMike')  #I don't know
                                # Mike
#/の次にnが入った文字列を出力したいとき以下のように記述するとnが出力されない
print(/name) #ame
#/の前に/を入れることでnameと出力することが出来る
print(//name) #ame

#改行のその他の方法として """ """で囲む方法がある
print("""   
AAAAA  # AAAAA
BBBBB  # BBBBB
CCCCC  # CCCCC
""")

スライス

スライスを使用して文字列の一部を取り出すことが出来る。

word = 'python'
#一文字目を取り出す
print(word[0]) #p
#二文字目から最後までを出力する
print(word[1:6]) #ython
#以下のように記述することもできる
print(word[1:]) #ython
#三文字目までを出力したいとき
print(word[:3]) #pyt

#文字列の一部を変更したいとき
#悪い例
word[0] = "j"  #TypeError: 'str' object does not support item assignment
#スライスをして取り出した箇所に結合する
word = 'j' + word[1:]
print(word) #jython

format

文字列の中に変数が使える

print('a = {}'.format(1)) #a = 1
#formatには変数も使用できる
print('My name is {name} {family}. watashi no namae ha {family} {name}'.format(name='teppei',family = 'ushizawa'))
#My name is teppei ushizawa. watashi no namae ha ushizawa teppei

#python3.6からは以下のようにしてformatを使用できる
name = 'teppei'
family = 'ushizawa'
print(f'My name is {name} {family}. watashi no namae ha {family} {name}')
#My name is teppei ushizawa. watashi no namae ha ushizawa teppei

文字列の代表的な関数

代表的な関数を紹介する。

word = 'python'
print(word)  #python
#一文字目を大文字にする
print(word.capitalize())  #Python
#全ての文字を大文字にする
print(word.upper())  #PYTHON
#全ての文字を小文字にする
print(word.lower()) #python
word2 = 'hello!! My name is ushipay'
#特定の文字が何番目にあるかを探す
print(word2.find('ushipay')) #19
#文字列が見つからない場合は-1を返す
print(word2.find('hiroshi')) #-1
#文字列を入れ替える
print(word2.replace('ushipay','hiroshi')) #hello!! My name is hiroshi
#文字列が見つからない場合は何も変わらない
print(word2.replace('ushizawa','hiroshi')) #hello!! My name is ushipay

以上。

タイトルとURLをコピーしました