python -V
: 3.6.9- 環境: Google colab上で実行
class内で定義したメソッドをクラス内で別のメソッドで利用したいときに,私はいつもコンストラクタにself.method_name()
と書いて利用しています.
method_name
にself
以外の引数があるときは,便宜上_
や''
を入力しているのですが,このやり方に危険性はありますでしょうか.assert
を使いたいときに_
だと場合わけが面倒なこともあります.
また,一般にはどのようにやるのが一番良いのかを教えていただけると幸いです.
以下はSample codeです.
python
1class Hoge: 2 def __init__( self ): 3 self.print_x( _ ) 4 5 def print_x( self, x ): 6 return x 7 8 def print_x2( self, x ): 9 # method print_x を利用したい. 10 return self.print_x( x ) * 2
> 私はいつもコンストラクタにself.method_name()と書いて利用しています.
何故でしょうか??
> class内で定義したメソッドをクラス内で別のメソッドで利用したいときに,
まではわかりますが、
> 私はいつもコンストラクタにself.method_name()と書いて利用しています.
なぜコンストラクタが出てきたのかよくわかりません。使いたい「別のメソッド」から呼ぶだけですが。
あとprintなのにprintしないメソッド名も気になるけど、上に比べれば些細なことです。
使いたいメソッドをコンストラクタで宣言しないといけないという認識なら誤りです。
>使いたいメソッドをコンストラクタで宣言しないといけないという認識なら誤りです。
そういう認識でした.ありがとうございます.
回答1件
あなたの回答
tips
プレビュー