# インスタンスメソッドと関数ポインタ(str.ljust)

# 背景

Python でのインスタンスメソッドはこのように書く。

class XX:
  def method01(self, param1):
    ...

文字列の右寄せのメソッド

str.rjust(width[, fillchar])

呼び出し方はこう

'a'.rjust(10)

# 気づいたこと

定義を考えるに、self のところに インスタンスが入ればいいので、このようにも呼べることに気がついた。

str.rjust('a', 10)

文字列の左寄せ、右寄せ、中央寄せの引数の並びが一緒なので

str.ljust(width[, fillchar])
str.rjust(width[, fillchar])
str.center(width[, fillchar])

関数ポインタで切り替えられる。

func = str.ljust

if xxx:
  func = str.rjust

func('a', 10)

[ 📩 ご意見 ]