argparseのパラメータをクラスにすばやく注ぎ込みます_dict__
1533 ワード
っていうか久しぶりにブログを書く時が来た!
argparseのパラメータはparse_を使用していますArgs()はNamespace()に保存され、vars()で属性をキー値ペアの辞書形式で返すことができます.
次のようになります.
結果は次のとおりです.
パラメータが多い場合は、これらのパラメータを一度に1つのクラスにインポートすることを考えることができます.dict__プロパティでは、次のようになります.
この時私たちはこれを理解する必要があります.dict__プロパティ
結果は次のとおりです.
例のdictではselfが用いることがわかる.a,クラスの属性の中のaの値は1で,これも__を説明した.init__()はインスタンス化時に実行され,実行時にはaの値が2になる.
以上、argsをクラスに一度に注ぐことで_dict__プロパティでパラメータをすばやく追加する方法を指定します.
argparseのパラメータはparse_を使用していますArgs()はNamespace()に保存され、vars()で属性をキー値ペアの辞書形式で返すことができます.
次のようになります.
import argparse
args = argparse.Namespace()
args.arg1 = 1
args.arg2 = ['d']
args.arg3 = {'e':6}
print(args)
print(vars(args))
結果は次のとおりです.
#Namespace(arg1=1, arg2=['d'], arg3={'e': 6})
#{'arg1': 1, 'arg2': ['d'], 'arg3': {'e': 6}}
パラメータが多い場合は、これらのパラメータを一度に1つのクラスにインポートすることを考えることができます.dict__プロパティでは、次のようになります.
class Args():
def __init__(self):
self.__dict__.update(vars(args))
print(self.__dict__)
#
args = Args()
#
{'arg1': 1, 'arg2': ['d'], 'arg3': {'e': 6}}
この時私たちはこれを理解する必要があります.dict__プロパティ
class A:
a = 1
def __init__(self):
self.a = 2
# class __dict__ __dict__
a_class = A()
print(a_class.__dict__)
print(A.__dict__)
結果は次のとおりです.
# dict
{'a': 2}
# __dict__
{'__module__': '__main__', 'a': 1, '__init__': , '__dict__': , '__weakref__': , '__doc__': None}
例のdictではselfが用いることがわかる.a,クラスの属性の中のaの値は1で,これも__を説明した.init__()はインスタンス化時に実行され,実行時にはaの値が2になる.
以上、argsをクラスに一度に注ぐことで_dict__プロパティでパラメータをすばやく追加する方法を指定します.