Python Tips: 数値リテラルに対して直接メソッドを呼び出したい

Python で数値リテラルから直接メソッドを呼び出す方法をご紹介します。

Python では数値リテラルにかぎらずリテラルから直接メソッドを呼び出す機会(=必要性)はあまりありませんが、言語としてはそれが可能なように作られています。

'hello'.upper()  # => 'HELLO'
'hello world'.title()  # => 'Hello World'

str 型の join() メソッドは比較的よく使いますよね。

message = ','.join(['a', 'b', 'c'])  # => 'a,b,c'

あまり見る/使う機会はありませんが、数値リテラルでも直接メソッド呼び出しが可能です。ただし数字の場合は . が小数点のドットとみなされてしまうため、 () で囲う必要があります。

3.real
# => SyntaxError: invalid syntax
(3).real  # => 3
(3 + 4j).imag  # => 4.0

その必要がある場合はなかなかありませんが、ここぞというときに使えるようにしておくと便利かもしれません。