文字列を扱おう
プログラムでは、名前やメッセージなどのテキストを扱うことがよくあります。このレッスンでは、文字列の作成方法や便利な操作を学びます。
データ型とは
プログラムでは、さまざまな種類のデータを扱います。例えば、数値や文字などです。これらのデータの種類のことをデータ型(data type)と呼びます。
Python には、例えば以下のような基本的なデータ型があります。
- 文字列(string): 文字の並び。例:
"こんにちは"、"Python" - 整数(integer): 小数点を含まない数値。例:
42、-10 - 浮動小数点数(float): 小数点を含む数値。例:
3.14、-0.5 - ブール値(bool): 真偽値。
True(真)またはFalse(偽)
print("Hello") # => Hello(文字列) print(42) # => 42(整数) print(3.14) # => 3.14(浮動小数点数)
データ型によって、そのデータに対してできる操作が変わります。例えば、数値同士は計算ができますし、文字列同士は連結(つなげること)ができます。
このレッスンでは、文字列について詳しく学びます。
文字列とは
文字列(string)とは、文字の並びのことです。Python では、文字列を作るにはクォーテーション(引用符)で囲みます。
print("こんにちは") # => こんにちは print('Python') # => Python
ダブルクォーテーション(")でもシングルクォーテーション(')でも、同じ文字列を作ることができます。
文字列の連結
+ 演算子を使うと、複数の文字列をつなげることができます。
first = "Hello" second = "World" print(first + second) # => HelloWorld
3つ以上の文字列をつなげることもできます。
greeting = "こんにちは" name = "太郎" suffix = "さん" print(greeting + "、" + name + suffix) # => こんにちは、太郎さん
文字列の長さを調べる
len() 関数を使うと、文字列の長さ(文字数)を調べることができます。
message = "Hello" print(len(message)) # => 5 japanese = "こんにちは" print(len(japanese)) # => 5
空の文字列の長さは 0 です。
empty = "" print(len(empty)) # => 0
f文字列(フォーマット文字列)
変数の値を文字列の中に埋め込みたいとき、f文字列(f-string)を使うと便利です。文字列の前に f をつけ、埋め込みたい変数を {} で囲みます。
# 文字列の前に f をつける f"文字列{変数}文字列"
name = "太郎" print(f"こんにちは、{name}さん") # => こんにちは、太郎さん
複数の変数を埋め込むこともできます。
name = "太郎" food = "りんご" print(f"{name}さんは{food}が好きです") # => 太郎さんはりんごが好きです
f文字列を使うと、+ で連結するより読みやすくなります。
改行文字とエスケープシーケンス
文字列の中で改行を表現したいとき、改行文字 \n を使います。\n は改行を表す特殊な文字です。
print("こんにちは\nさようなら") # => こんにちは # さようなら
このように、文字列の中で \n を使うと、その位置で改行されて出力されます。
\n のように、バックスラッシュ(\)で始まる特殊な文字の組み合わせをエスケープシーケンスと呼びます。エスケープシーケンスを使うと、通常の文字では表現できない特殊な文字を文字列に含めることができます。
よく使われるエスケープシーケンスには以下のようなものがあります。
\n: 改行\t: タブ(インデント)\\: バックスラッシュそのもの
print("これはタブ→\t←です") # => これはタブ→ ←です
バックスラッシュそのものを出力したい場合は、\\ と書きます。
print("フォルダ名: C:\\Users\\Documents") # => フォルダ名: C:\Users\Documents
まとめ
- 文字列はクォーテーション(
"または')で囲んで作成する +で文字列を連結できるlen()で文字列の長さを調べられる- f文字列(
f"...{変数}...")を使うと、変数を文字列に埋め込める \nで改行、\tでタブなど、エスケープシーケンスで特殊な文字を表現できる
演習に挑戦