Closed5

Python3_文字列リテラル

かじるかじる

Python実践レシピより

Python3エンジニア認定実践試験メモ

文字列リテラル

文字列を作る

main.py
msg1 = "おはよう"
msg2 = 'こんにちは'
print(msg1)
print(msg2)
output
おはよう
こんにちは
こんばんわ

複数行に分ける

main.py
msg3 = ("こんばんわ、" 
    "明日は"
    "晴れだと"
    "良いですね。")
print(msg3)
output
こんばんわ、明日は晴れると良いですね。

エスケープシーケンスとraw文字列

main.py
msg4 = "ここで改行\nしてみます。"
print(msg4)
msg5 = r"ここで改行\nしてみます。"
print(msg5)
output
ここで改行
してみます。
ここで改行\nしてみます。
かじるかじる

文字列のチェックメソッド

main.py
# 文字列のみの場合にTrue
print("abc".isalpha())

# 数値か文字列のみの場合にTrue
print("abc123".isalnum())

# 文字列が数値を表す場合にTrue
print("123".isdigit())

# 文字列が十進数を表す場合にTrue
print("123".isdecimal())

# 文字列が全て小文字の場合にTrue
print("abc".islower())

# 文字列が全て大文字の場合にTrue
print("ABC".isupper())
かじるかじる

文字列の変換

main.py
# 文字列を全て大文字に変換
print("abc".upper())

# 文字列を全て小文字に変換
print("ABC".lower())

# 大文字を小文字に、小文字を大文字に変換
print("abcABC".swapcase())

# 先頭を大文字に、その他を小文字に変換
print("aBcDeFg".capitalize())

# 先頭、末尾から文字を削除
print("aaa/bbb/ccc".strip("ac"))
# /bbb/ となる

# 先頭から文字を削除
print("aaa/bbb/ccc".lstrip("a/"))
# bbb/ccc となる

# 末尾から文字を削除
print("aaa/bbb/ccc".rstrip("c/"))
# aaa/bbb となる

# 文字列を置き換える(1個目まで)
print("HELLO, WORLD!!".replace("L", "l", 1))
# HElLO, WORLD となる
かじるかじる

文字列定数

main.py
import string

# 英小文字
print(string.ascii_lowercase)
# abcdefghijklmnopqrstuvwxyz

# 英大文字
print(string.ascii_uppercase)
# ABCDEFGHIJKLMNOPQRSTUVWXYZ

# 英小文字大文字
print(string.ascii_letters)
# ABCDEFGHIJKLMNOPQRSTUVWXYZ

# 10進数
print(string.digits)
# 0123456789

# 16進数
print(string.hexdigits)
# 0123456789abcdefABCDEF

# 8進数
print(string.octdigits)
# 01234567

# 記号
print(string.punctuation)
# !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
かじるかじる

文字列フォーマット

main.py
import math

menu1 = "カレーライス"
menu2 = "ウーロン茶"
msg1 = f"お待たせしました、{menu1}{menu2}です。"
print(msg1)
# お待たせしました、カレーライスとウーロン茶です。

price_a = 500
price_b = 200
msg2 = f"お会計は{price_a + price_b}円になります。"
print(msg2)
# お会計は700円になります。

msg3 = f"変数の値は{price_a=}と、{price_b=}です。"
print(msg3)
# 変数の値はprice_a=500と、price_b=200です。

# 30文字で左寄せ,右寄せ中央寄せ(空白で埋める)
greeting = "Hello, World!!"
print(f"|{greeting:<30}|")
# |Hello, World!!                |
print(f"|{greeting:>30}|")
# |                Hello, World!!|
print(f"|{greeting:^30}|")
# |        Hello, World!!        |

# 30文字で左寄せ,右寄せ中央寄せ(_で埋める)
print(f"|{greeting:_<30}|")
# |Hello, World!!________________|
print(f"|{greeting:_>30}|")
# |________________Hello, World!!|
print(f"|{greeting:_^30}|")
# |________Hello, World!!________|

# 基数変換
num = 2024
print(f"{num:b}")# 2進数 -> 11111101000
print(f"{num:o}")# 8進数 -> 3750
print(f"{num:d}")# 10進数 -> 2024
print(f"{num:x}")# 16進数(小文字) -> 7e8
print(f"{num:X}")# 16進数(大文字) -> 7E8

# 固定小数点表示
print(f"{math.pi} -> {math.pi:f}")
# 3.141592653589793 -> 3.141593

# 小数点以下が2桁で、全体を8桁にして右寄せにする(空白は_で埋める)
print(f"{math.pi:_>8.2f}")
# ____3.14
このスクラップは2ヶ月前にクローズされました