class Counter:
def __init__(self):
self.n = 0
def increase(self):
self.n += 1
return self.nJapan.R 2025
RユーザーもPythonを書く

たまにPythonを書くときに思うこと
メソッド定義の仮引数にselfって書くのはなぜ
Rだとどうか
Rではオブジェクトシステムを選べる
R6の場合
Rでは
R6パッケージがselfに特別な意味を持たせている
Pythonでは
インスタンスオブジェクトが関数の第1引数として渡されます。
x.f()という呼び出しは、MyClass.f(x)と厳密に等価なものです。
selfという名前は、Pythonでは何ら特殊な意味を持ちません。
Pythonのselfは
つまりこれは
こうしても動く
(こんなコードは書くべきではない)
やってみた。
rm1は “R minus 1” の意
インストール
パッケージを読み込んだら
こんな感じで書ける
もちろんselfじゃなくても動く
だいぶPythonっぽくなった
実装は簡単。
今回紹介した機能はこれで動く。
念のため言っておくと
単に作るのが楽しいから作っている。
作って動かして理解する
Pythonのselfは慣習
オブジェクトシステムは自作できる
プログラミングは楽しい