【Python】15日目 – もうちょっと深く文字列を知る

ポイント

プログラミング学習が義務教育でも取り入れられるようになり、ほぼすべての人が避けては通れない時代に突入してしまいました。
基本的にはローコードやノーコードテクノロジーが発達し、個人で隅々まで覚える必要はないとも言えますが、やはり自在に操れればまさに100人力とも言えます。
プログラミングがあなたのやりたい何かに合致した場合、是非100日でサクッと覚えてしまいましょう。
100日でざっくりと基礎を身に着けられるように構成しています。

【Python】環境構築 Windows 10 (エラー対処法も)

Pythonを学ぶべき5つの理由

pandas100日チャンレジはこちら

Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学ぶオンライン講座

もうちょっと深く文字列を知る

Python100日チャレンジの一日目で挨拶を表示することを学びました。

【Python】1日目 – [挨拶を表示する]

そこから特にこれまで表示print関数に関しては触れてきませんでしたが、ここで表示に関してより深く把握しておきたいと思います。

文字列はシングルクォーテーション(’…’)か、ダブルクォーテーション(”…”)で囲んで記述します。

これを文字列リテラルと言います。

シングルクォーテーション(’…’)か、ダブルクォーテーション(”…”)かのどちらを選択してもOKです。

ちなみに筆者は日本語配列キーボードを使っている時はダブルクォーテーションでしたが、英字配列に変えてからはもっぱらシングルクォーテーションに変わりました。

ポイント

個人的にはプログラミングやるなら英字配列キーボードがいいと思います。
特に、、、というか、全く違和感なく移行できる上に、プログラミングは英語圏の文化ですので、英字配列のキーボードで打ちやすく設計されています。
そのため、英字配列にすると打ちたい文字が自然とするする出てきますし、特に記号などを出す際は英字配列に変えてから圧倒的に指の無駄な移動とストレスが少なくなりました。

ちなみにキーボードは現代でいうところの万年筆。

是非良いモノを使ってください。

おすすめはもう間違いなくHHKB。

本当に最高です。

一生のパートナーとなると思います。

【HHKB】Happy Hacking Keyboard 史上最高のキーボード

話がそれました。

シングルクォーテーションかダブルクォーテーション、最初に癖がついた方で固定されると思います。

こういう分野は一度癖がつくともうなかなか修正するのが大変ですので。

筆者はキーボードの[a]を薬指で打つ癖がついてしまい、もう修正は永久に無理だと思います。。。

エスケープシーケンス

改行は、他のプログラミング言語と同じように、\nを使います。

また\tはタブとして使えます

この辺りもC言語と同じですよね。

是非C言語のエスケープシーケンスもチェックしてみてください。

エスケープシーケンス C言語

改行

print('Hello\nWorld!')

こちらを実行するとしっかり改行できていることが分かります。

print('''Good evening
Good night''')

こちらはどうでしょうか。

しっかり改行できています。

print('''Good evening
Good
night''')

こうすると実行結果はどうなるでしょうか。

このようになることを実際に確認してみてください。

print('''Good evening
Good




night''')

さらにこうするとどうでしょう。

このようになります。

もちろんダブルクォーテーションでも結果は同じです。

でもこのように見ると、個人的にはやはりシングルクォーテーションの方が見やすいです。

print('''Good evening
Good night''')
print("""Good evening
Good night""")
ポイント

”’が使いやすいケースと、\nが便利なケースとそれぞれあるかと思います。
コードの内容によって決定していきましょう。

文字列のスライス

定義した文字列から割り当て番号を使って文字を抽出することができます。

例を見てみましょう。

まずは最初に文字列を定義し、その後にプリント関数を使って抽出したい文字を表示させましょう。

moji = 'kotaro marks'

print(moji[0])
ポイント

割り当て番号は[0]が一番初めなのをここでも忘れないようにしてください。

割り当て番号について確認したい方は9日目のリストの作り方で復習しましょう。

【Python】9日目 – [配列] ~ リストの作り方

moji = 'kotaro marks'

moji = 'kotaro marks'

print(moji[0])
print(moji[1])
print(moji[2])
print(moji[3])
print(moji[4])
print(moji[5])
print(moji[6])
print(moji[7])
print(moji[8])
print(moji[9])
print(moji[10])
print(moji[11])

順番に表示させてみましょう。

割り当て番号[6]ではしっかりとスペースが割り当てられていることが分かります。

n番目から最後までを指定

[n:]

でn番目から最後までを抽出します。

moji = 'kotaro marks'

print(moji[3:])

実行結果は

aro marks

となります。

繰り返しになりますが割り当て番号は常にn+1であることを忘れないようにしましょう。

最初からn番目までを指定

moji = 'kotaro marks'

print(moji[:9])

実行結果はこのようになります。

kotaro ma

範囲の指定

moji = 'kotaro marks'

print(moji[3:9])

実行結果は

aro ma

となります。

最後尾の文字 (最初から指定も)

moji = 'kotaro marks'

print(moji[-1])

実行結果は

s

となります。

ここに:を入れると、最初から始まり、最後尾から数えた文字を抽出できます。

moji = 'kotaro marks'

print(moji[:-5])

例えばこのようにすると、実行結果は

kotaro 

になります。

これで自在に文字を抽出することができるようになりました。

この記事を書いた人

こうたろう

当サイトの管理人
金田明彦氏直伝金田式DC録音専門の「タイムマシンレコード」で音響を学び、秋山庄太郎氏後継の写真スタジオ「村上アーカイブス」で映像と写真を学ぶ。
現在はPythonを使ったデータ分析を用いた投資法にて投資&投機を研究しつつ、フォトグラファー&音響エンジニアとして活動中。

趣味は毎朝楽しむコーヒーと竜笛(和楽器の練習)
好きな動物は猫。
好きな食べ物はカリフラワー