マルチスレッドの実装では、多くの命令を生成してから、それらを単一の処理スレッドに渡す必要があります。これが私のカスタム命令クラスです:
class instruction:
priority = 10
action = ""
data = ""
condition = ""
target = ""
### constructor(s) declaration
def __init__(self,priority=10,target="",action="",data="",condition=""):
self.priority = priority
self.target = target
self.action = action
self.data = data
self.condition = condition
さまざまな種類の命令を呼び出す必要があるため、定義されたパラメーターが異なる場合があります。ターゲットなし、アクションなしなど、常に1つのパラメーターが欠落しています。
現在のコンストラクターと同様に、ターゲットなしで呼び出すと、次のようになります。
i = instruction(priority_value,action_value,data_value,condition_value)
print(i.priority)
>>> priority_value
print(i.target)
>>> action_value
print(i.action)
>>> data_value
print(i.target)
>>> data_value
print(i.data)
>>> condition_value
print(i.condition)
>>> #nothing to see here, move along!
私は次のようなカスタムコンストラクターを定義できることを知っています
@classmethod
def noTarget(priority=10,action=0,data="",condition=""):
return instruction(priority,"",action,data,condition)
そしてそれを次のように呼びます i=instruction.noTarget(priority_value,action_value,data_value,condition_value)
しかし、それを行う他の方法はありますか?
もしそうなら、これらを詳しく教えていただけますか?ありがとう!
単語の使い方やつづりを間違えた場合は申し訳ありませんが、英語は私の母国語ではありません。
彼らは次のように指定されているとして、あなたの関数定義のすべてのあなたのパラメータはオプションですデフォルトパラメータあなたがいないので、持っているすべての値を渡します。
関数を呼び出すときに、ちょうど名前あなたは、引数行うに渡したいの。これらはキーワード引数と呼ばれます。
instruction(priority=priority_value, action=action_value,
data=data_value, condition=condition_value)
呼び出しでキーワード引数を使用する場合、順序は関係ありません。自由に組み合わせることができます。
Pythonチュートリアルの「キーワード引数」セクションも参照してください。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加