Pythonのお勉強 Part5
■ このスレッドは過去ログ倉庫に格納されています
0005デフォルトの名無しさん
NGNG> python って関数内部で、引数の値を変更することはできますか?
呼出し元の引数として与えられた局所変数の値を呼び出された関数の中で変更する
ということなら、できません。
そういうことが必要だとしたら、クラスを定義することを考えるのがよいです。
その変数は、二つの関数(呼び出す側と呼び出される側)から共に操作される対象、
すなわち一個のオブジェクトである可能性が高いからです。その変数をメンバ、
二つの関数をメソッドとしてクラスを定義すれば、呼び出される側から変数の値を
変更することが可能になります。
引用のリンク先の__call__や__repr__の用例はあまりいい用例とは思えません。
参考程度に留めるのがよいと思います。
(余談:Pythonでもどの言語でもそうですが、変だなと思うことをしたくなったら
プログラムの設計や問題へのアプローチを見直すのがよいと思います。妙なことを
しなくても自然に書ける解が往々にしてあるものだからです。)
■ このスレッドは過去ログ倉庫に格納されています