目次
文字列の連結
文字列は +
演算子で連結することができます。
Example
source code
str1 = "Hello"
str2 = "world"
str3 = str1 + " " + str2
print(str3)
result
Hello world
文字列と文字列以外のオブジェクトを連結
まず、文字列以外のオブジェクトを str
コンストラクタで文字列に変換します。
その後、変換した文字列と他の文字列を +
演算子で連結することができます。
Example
source code
str1 = "Hello"
int1 = 123
float1 = -45.6
bool1 = True
none1 = None
str2 = (str1
+ " " + str(int1)
+ " " + str(float1)
+ " " + str(bool1)
+ " " + str(none1))
print(str2)
result
Hello 123 -45.6 True None
書式化操作を行う (文字列)
str
オブジェクト (書式指定文字列) の format
メソッドを使います。
このとき、波括弧内の文字列の一番右には 's'
を指定します ('s'
は省略可)。
Example
source code
str1 = "ABC"
str2 = "XYZ"
fmt = "s1 = {:s}, s2 = {:s}"
str3 = fmt.format(str1, str2)
print(str3)
result
s1 = ABC, s2 = XYZ
書式化操作を行う (整数を10進数で表現)
str
オブジェクト (書式指定文字列) の format
メソッドを使います。
このとき、波括弧内の文字列の一番右には 'd'
を指定します ('d'
は省略可)。
Example
source code
# オプション無し
print(u"* オプション無し")
print("n1 = '{:d}', n2 = '{:d}', n3 = '{:d}'\n".format(12, 0, -12))
# '+' オプションを指定すると、正の数 (及び 0) でも + 符号が表示される
print(u"* '+' オプションを指定すると、正の数 (及び 0) でも + 符号が表示される")
print("n1 = '{:+d}', n2 = '{:+d}', n3 = '{:+d}'\n".format(12, 0, -12))
# 文字列の長さを指定すると、「ゼロ埋め」や「スペースで埋める」ことができる
print(u"* 文字列の長さを指定すると、「ゼロ埋め」や「スペースで埋める」ことができる")
print("n1 = '{:08d}', n2 = '{:08d}'".format(12, -12))
print("n1 = '{:8d}', n2 = '{:8d}'".format(12, -12))
print("n1 = '{:+8d}', n2 = '{:+8d}'\n".format(12, -12))
# '=' オプションを指定すると、符号の後ろに文字が埋められる
print(u"* '=' オプションを指定すると、符号の後ろに文字が埋められる")
print("n1 = '{:=+8d}', n2 = '{:=+8d}'\n".format(12, -12))
# ',' オプションを指定すると、三桁ごとにカンマが表示される
print(u"* ',' オプションを指定すると、三桁ごとにカンマが表示される")
print("n1 = '{:,d}', n2 = '{:,d}'".format(1234567, -1234567))
print("n1 = '{:+,d}', n2 = '{:+,d}'".format(1234567, -1234567))
print("n1 = '{:+012,d}', n2 = '{:+012,d}'".format(1234567, -1234567))
print("n1 = '{:=+12,d}', n2 = '{:=+12,d}'\n".format(1234567, -1234567))
result
* オプション無し n1 = '12', n2 = '0', n3 = '-12' * '+' オプションを指定すると、正の数 (及び 0) でも + 符号が表示される n1 = '+12', n2 = '+0', n3 = '-12' * 文字列の長さを指定すると、「ゼロ埋め」や「スペースで埋める」ことができる n1 = '00000012', n2 = '-0000012' n1 = ' 12', n2 = ' -12' n1 = ' +12', n2 = ' -12' * '=' オプションを指定すると、符号の後ろに文字が埋められる n1 = '+ 12', n2 = '- 12' * ',' オプションを指定すると、三桁ごとにカンマが表示される n1 = '1,234,567', n2 = '-1,234,567' n1 = '+1,234,567', n2 = '-1,234,567' n1 = '+001,234,567', n2 = '-001,234,567' n1 = '+ 1,234,567', n2 = '- 1,234,567'
書式化操作を行う (整数を16進数で表現)
str
オブジェクト (書式指定文字列) の format
メソッドを使います。
このとき、波括弧内の文字列の一番右に 'x' または 'X' を指定します。
小文字の 'x' の場合は、アルファベットの部分が小文字で表示されます。 また、大文字の 'X' の場合は、アルファベットの部分が大文字で表示されます。
Example
source code
# オプション無し
print(u"* オプション無し")
print("n = '{:x}'".format(1234))
print("n = '{:X}'\n".format(1234))
# 文字列の長さを指定すると、「ゼロ埋め」や「スペースで埋める」ことができる
print(u"* 文字列の長さを指定すると、「ゼロ埋め」や「スペースで埋める」ことができる")
print("n = '{:08x}'".format(1234))
print("n = '{:8X}'\n".format(1234))
# '#' オプションを指定すると、先頭に '0x' または '0X' が追加される
print(u"* '#' オプションを指定すると、先頭に '0x' または '0X' が追加される")
print("n = '{:#010x}'".format(1234))
print("n = '{:#010X}'\n".format(1234))
result
* オプション無し n = '4d2' n = '4D2' * 文字列の長さを指定すると、「ゼロ埋め」や「スペースで埋める」ことができる n = '000004d2' n = ' 4D2' * '#' オプションを指定すると、先頭に '0x' または '0X' が追加される n = '0x000004d2' n = '0X000004D2'
書式化操作を行う (浮動小数点数)
str
オブジェクト (書式指定文字列) の format
メソッドを使います。
このとき、波括弧内の文字列の一番右に 'f' または 'F' を指定します。
小文字の 'f' の場合は、nan, inf が小文字で表示されます (nan, inf)。 また、大文字の 'F' の場合は、nan, inf が大文字で表示されます (NAN, INF)。
Example
source code
import math
# オプション無し
print(u"* オプション無し")
print("n1 = '{:f}', n2 = '{:f}', n3 = '{:f}'\n".format(12.34, 0, -12.34))
print("n1 = '{:f}', n2 = '{:f}'".format(math.nan, math.inf))
print("n1 = '{:F}', n2 = '{:F}'\n".format(math.nan, math.inf))
# '+' オプションを指定すると、正の数 (及び 0.0) でも + 符号が表示される
print(u"* '+' オプションを指定すると、正の数 (及び 0.0) でも + 符号が表示される")
print("n1 = '{:+f}', n2 = '{:+f}', n3 = '{:+f}'\n".format(12.34, 0, -12.34))
# 「小数点 '.' と桁数」を指定すると、小数点以下の桁数を変更することができる
print(u"* 「小数点 '.' と桁数」を指定すると、小数点以下の桁数を変更することができる")
print("n1 = '{:.4f}', n2 = '{:.4f}'".format(12.34, -12.34))
print("n1 = '{:.1f}', n2 = '{:.1f}'".format(12.35, -12.35))
print("n1 = '{:.1f}', n2 = '{:.1f}'\n".format(12.36, -12.36))
# 文字列の長さを指定すると、「ゼロ埋め」や「スペースで埋める」ことができる
print(u"* 文字列の長さを指定すると、「ゼロ埋め」や「スペースで埋める」ことができる")
print("n1 = '{:012f}', n2 = '{:012f}'".format(12.34, -12.34))
print("n1 = '{:12f}', n2 = '{:12f}'".format(12.34, -12.34))
print("n1 = '{:+12.4f}', n2 = '{:+12.4f}'\n".format(12.34, -12.34))
# '=' オプションを指定すると、符号の後ろに文字が埋められる
print(u"* '=' オプションを指定すると、符号の後ろに文字が埋められる")
print("n1 = '{:=+12.4f}', n2 = '{:=+12.4f}'\n".format(12.34, -12.34))
# ',' オプションを指定すると、三桁ごとにカンマが表示される
print(u"* ',' オプションを指定すると、三桁ごとにカンマが表示される")
print("n1 = '{:,f}', n2 = '{:,f}'".format(1234567.89, -1234567.89))
print("n1 = '{:+,f}', n2 = '{:+,f}'".format(1234567.89, -1234567.89))
print("n1 = '{:+016,f}', n2 = '{:+016,f}'".format(1234.56, -1234.56))
print("n1 = '{:=+16,.4f}', n2 = '{:=+16,.4f}'\n".format(1234.56, -1234.56))
result
* オプション無し n1 = '12.340000', n2 = '0.000000', n3 = '-12.340000' n1 = 'nan', n2 = 'inf' n1 = 'NAN', n2 = 'INF' * '+' オプションを指定すると、正の数 (及び 0.0) でも + 符号が表示される n1 = '+12.340000', n2 = '+0.000000', n3 = '-12.340000' * 「小数点 '.' と桁数」を指定すると、小数点以下の桁数を変更することができる n1 = '12.3400', n2 = '-12.3400' n1 = '12.3', n2 = '-12.3' n1 = '12.4', n2 = '-12.4' * 文字列の長さを指定すると、「ゼロ埋め」や「スペースで埋める」ことができる n1 = '00012.340000', n2 = '-0012.340000' n1 = ' 12.340000', n2 = ' -12.340000' n1 = ' +12.3400', n2 = ' -12.3400' * '=' オプションを指定すると、符号の後ろに文字が埋められる n1 = '+ 12.3400', n2 = '- 12.3400' * ',' オプションを指定すると、三桁ごとにカンマが表示される n1 = '1,234,567.890000', n2 = '-1,234,567.890000' n1 = '+1,234,567.890000', n2 = '-1,234,567.890000' n1 = '+0,001,234.560000', n2 = '-0,001,234.560000' n1 = '+ 1,234.5600', n2 = '- 1,234.5600'
その他の書式化操作
このページで解説した書式化操作以外にも、「左詰め」、「2進数表現」、「8進数表現」などいろいろなものがあります。
詳しくは、Python ドキュメントの「書式指定ミニ言語仕様」を参照ください。