私は、使用している数字とデータの種類の処理関数を含む共通のモジュールを持っています。 from common import common
(またはそれ以上の場合はただちにimport common
)のように含めることができます。common.howLongAgo(unixTimeStamp)
Pythonでは、インスタンスを渡さずにクラスメソッドを使用するにはどうすればよいですか?
共有モジュールでこれを行うには、何が必要ですか? Commonはクラス 'common'からなるモジュールです。インポート、今
def module_method():
return "I am a module method"
class ModClass:
@staticmethod
def static_method():
# the static method gets passed nothing
return "I am a static method"
@classmethod
def class_method(cls):
# the class method gets passed the class (in this case ModCLass)
return "I am a class method"
def instance_method(self):
# An instance method gets passed the instance of ModClass
return "I am an instance method"
:あなたは、クラスメソッドは、より便利にしたい場合は
>>> import foo
>>> foo.module_method()
'I am a module method'
>>> foo.ModClass.static_method()
'I am a static method'
>>> foo.ModClass.class_method()
'I am a class method'
>>> instance = ModClass()
>>> instance.instance_method()
'I am an instance method'
は、インポート
モジュールfoo.py
:Pythonのモジュールでメソッドを公開するの
なぜこれらの機能がクラスの最初の場所にあるのですか?彼らが 'self'を必要としなければ、なぜモジュールスコープに移動させないのですか? –
メインのPythonファイル – Supernovah
を取得するには、これを達成するためにクラスに入れる必要はありません。それらをモジュールに移動し、モジュールレベルにしておきます。 –