19
Argwar argümanında kwargs işlevi nasıl iletilir?
class M(object):
def __init__(self, **kwargs):
...do_something
aşağıdaki gibi bir sınıf tanımladık ve örneğin argparse.parse_args()
sonucu vardır:
message_type
hariç) bu ad değerlerine geçmek istediğiniz
> args = parse_args()
> print args
Namespace(value=5, message='test', message_type='email', extra="blah", param="whatever")
oluşturmak M
sınıfının bir örneği. Ben
M(args)
çalıştı ama anlamıyorum bir hata
TypeError: __init__() takes exactly 1 argument (2 given)
var. Ben doğrudan M(value=5, message='test', extra="blah", param="whatever")
yazarsınız gibi nasıl
- değerlere
args
- geçişte listeden değerini
message_type
kaldırabilirsiniz.
Thats tam olarak neye ihtiyacım. Teşekkürler. Belirli bir tuşun kaldırılması hariç. Kaldırılmasına ihtiyacım var, bu sorunun kapsamı dışındaki nedenlerden ötürü görmezden gelemem. – Alex
Ben 'vars' ile mümkün tanımsız davranıştan kaçınmak için' (vars (args k (k, v) v) .items() k eğer! = "Message_type") 'arg_dict = dicti yapmanız. – Alex
@Alex: vars' ile hangi tanımsız davranış? Sen vars() '(öyle değil ki) tanımsız davranış olabilir değil' çünkü, tabii, 'message_type' anahtar bu şekilde süzmek, ancak kendi iyiliği için bunu yapabilir. –