クラス本体内でクラスstaticmethodを呼び出しますか?

| |

クラスの本体内から静的メソッドを使用しようとし、組み込みの staticmethod 関数をデコレータとして使用して、次のように静的メソッドを定義すると、次のようになります。

  class Klass(object):@ staticmethod#デコレータとして使用def _stat_func():return 42 _ANS = _stat_func()#staticmethod def method(self)を呼び出す:ret = Klass._stat_func()+ Klass._ANS return ret  

次のエラーが発生します:

 トレースバック(最後の最後の呼び出し):< br&gt ; < module>のファイル "call_staticmethod.py"、1行目class Klass(object):ファイル "call_staticmethod.py"、7行目、Klass _ANS = _stat_func()TypeError:"staticmethod"オブジェクトは呼び出せません 

理由を理解していますが発生しています(記述子バインディング)。最後に使用した後、 _stat_func()を静的メソッドに手動で変換することで回避できます。

  class Klass(object):def _stat_func():return 42 _ANS = _stat_func()#非静的メソッドバージョンを使用_stat_func = staticmethod(_stat_func)#関数を静的メソッドに変換def method(self):ret = Klass._stat_func( )+ Klass._ANS return ret  

つまり、私の質問は次のとおりです。

よりクリーンな、またはより「Pythonic」な方法のように、より良い方法がありますこれを達成するには?

この記事が問題の解決に役立つことを願っています。 クラス本体内でクラスstaticmethodを呼び出しますか? とは別に、他の around 関連のトピックを確認してください。

Python で上達したいですか?  最高の Python オンライン コース 2022 のレビューをご覧ください。 データ サイエンスに興味がある場合は、R でプログラミングを学ぶ方法も確認してください。

ちなみに、この資料は他の言語でも利用できます:



Angelo Emmerson

Rome | 2022-11-27

シンプルにまとめられていて分かりやすい。シェアしてくださってありがとうございます。クラス本体内でクラスstaticmethodを呼び出しますか?やaroundの問題はいつも私の弱点でした😁。. 昨日確認したところ、動作しています!

Xu Porretti

London | 2022-11-27

シンプルにまとめられていて分かりやすい。シェアしてくださってありがとうございます。クラス本体内でクラスstaticmethodを呼び出しますか?やStackOverflowの問題はいつも私の弱点でした😁。. もう出てこないことを願うばかりです

Marie Danburry

Vigrinia | 2022-11-27

説明ありがとうございました 何時間かクラス本体内でクラスstaticmethodを呼び出しますか?で詰まってました、やっと出来ました🤗。. もう出てこないことを願うばかりです

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

Common xlabel/ylabel for matplotlib subplots

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

12 answers

NUMPYNUMPY

Flake8: Ignore specific warning for entire file

12 answers

NUMPYNUMPY

glob exclude pattern

12 answers

NUMPYNUMPY

How to avoid HTTP error 429 (Too Many Requests) python

12 answers

NUMPYNUMPY

Python CSV error: line contains NULL byte

12 answers

NUMPYNUMPY

csv.Error: iterator should return strings, not bytes

12 answers


Wiki

Python | How to copy data from one Excel sheet to another

Common xlabel/ylabel for matplotlib subplots

Check if one list is a subset of another in Python

sin

How to specify multiple return types using type-hints

exp

Printing words vertically in Python

exp

Python Extract words from a given string

Cyclic redundancy check in Python

Finding mean, median, mode in Python without libraries

cos

Python add suffix / add prefix to strings in a list

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

Python - Move item to the end of the list

Python - Print list vertically