簡體   English   中英

如何在Python中處理** kwargs類?

[英]How to process class **kwargs in Python?

如何使用“一個”類參數**kwargs設置對象屬性?

我想要做的事情是在一個循環中執行此代碼:

class purchase():
    def __init__(self,**kwargs):
        self.set_attributes(kwargs)

    def set_attributes(self,kwargs):
        if 'file' in kwargs.keys():
            self.file = kwargs['file']
        if 'text' in kwargs.keys():
            self.text = kwargs['text']
        if 'language' in kwargs.keys():
            self.language = kwargs['language'] 

應該是這樣的:

class purchase():
    def __init__(self,**kwargs):
        self.set_attributes(kwargs)

    def set_attributes(self,kwargs):
        for v,k in kwargs.iteritems():
            self.k = v

哪個當然行不通。

有沒有一種方法可以在一個循環中以編程方式設置對象屬性?

干得好

class purchase():
    def __init__(self,**kwargs):
        self.set_attributes(kwargs)

    def set_attributes(self,kwargs):
        for k, v in kwargs.iteritems():
            setattr(self, k, v)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM