備忘録もかねて簡単なプログラミングノートを作成していきます。
##文字列について
###◆文字列の表現
文字列を表現するには、「'(シングルクォート)」もしくは「"(ダブルクォート)」で囲めばよい
クォート自身を文字列に含みたい場合は、シングルクォートでダブルクォートを囲む、もしくはダブルクォートでシングルクォートを囲めばよい
#シングルクォートで文字列を表現
print('Hello Pyton')
#ダブルクォートで文字列を表現
print("Hello Python")
#クォートを文字列に含む
print("He said I'm tired")
print('<div class="hoge">')
###◆エスケープシーケンス
上記で文字列にクォートを含める方法として、「(バックスラッシュ)」をクォートの前につけることでクォートを文字として扱うことができます。この働き(エスケープ)をさせるためにつけるバックスラッシュを「エスケープシーケンス」と呼びます。
他にも、以下のような使い方があります。
記号 | 意味 |
---|---|
(改行) | 改行を無視する |
\ | バックスラッシュ() |
' | シングルクォート(') |
" | ダブルクォート(") |
\r\n | 改行(CR+LF) |
\n | 改行(LF) |
\t | タブ文字(文字コード:0x09) |
\xhh | 16進数で hh の文字(※1) |
\uxxx | 16bit Unicodeで16進数 xxx の文字(※2) |
\Uxxxxxxxx | 32bit Unicodeで xxxxxxxx の文字(※2) |
※1・・・文字をコード番号で指定する際に利用します | |
※2・・・Unicodeの文字をコード番号や名前で埋め込みたい場合に利用します |
#クォートをエスケープする
print("He said I\'m tired")
#改行を無視する
print("Hello
World")
# World")が新しいコードと解釈され、以下エラーとなる
#print("Hello
# ^
#SyntaxError: EOL while scanning string literal
print("Hello \
World")
# Hello Worldと表示される
###◆三重引用符の利用
三重引用符とは、シングルクォートもしくはダブルクォートを3回連続で表記したものである
三重引用符で囲むことでも文字列を表現できる
クォートで囲む場合との違いは、空行や改行をそのまま表せることである
#三重引用符の利用
string = '''
みなさん、こんにちは
今日も良い天気ですね
暑いので熱中症などには、お気をつけください
'''
print(string)
(空行)
みなさん、こんにちは
今日も良い天気ですね
暑いので熱中症などには、お気をつけください
上記の場合、最初と最後の行にも改行を含めてしまう
それを避けるには、改行が不要な場合は、「\」でエスケープすればよい
string = '''\
みなさん、こんにちは
今日も良い天気ですね
暑いので熱中症などには、お気をつけください\
'''
print(string)
###◆文字列の連結
文字列通しを連結させるには、「+」演算子を使えばよい
変数の値を連結させる場合も同じ
数値と文字列をそのまま連結させることはできないので、数値を文字列に連結させるには、「str(数値)」で数値を文字列に変換する必要がある。
string = "今日は、" + "あいにく雨です。"
print(string)
# 今日は、あいにく雨です。
weateher = "晴れ"
print("今日の天気は、" + weateher + "です。")
#今日の天気は、晴れです。
string = '気温は、' + 30 + "°です。"
print(string)
#Traceback (most recent call last):
# File "Main.py", line 3, in <module>
# string = '気温は、' + 30 + "°です。"
#TypeError: must be str, not int
string = '気温は、' + str(30) + "°です。"
print(string)
#気温は、30°です。
###◆format()で文字列に値を埋め込む
文字列に値を埋め込みたい場合は、formatメソッドを使うと、簡潔に記載できます
インデックスで指定する場合
"書式文字列".format(値0 , 値1 , 値2・・・)
string = "気温は、{}°です。"
result = string.format(30)
print(result)
#気温は、30°です。
string = "私の名前は、{0}です。年齢は、{1}歳です。"
result = string.format("ゆうすけ" , 37)
print(result)
#私の名前は、ゆうすけです。年齢は、37歳です。
インデックスではなく、キーでの指定もできます
"{キー1}{キー2}{キー3}...".format(キー1=値 , キー2=値 , キー3=値・・・)
string = "私の名前は、{name}です。年齢は、{old}歳です。"
result = string.format(name = "ゆうすけ" , old = 37)
print(result)
#私の名前は、ゆうすけです。年齢は、37歳です。
本日は、ここまで