setattr

    0熱度

    1回答

    我試圖在Python中設置一個簡單的測試示例setattr(),但它未能爲成員分配新值。 class Foo(object): __bar = 0 def modify_bar(self): print(self.__bar) setattr(self, "__bar", 1) print(self.__bar) 在這裏,我試圖變量賦值與

    -1熱度

    1回答

    我想寫一些測試python模塊的包裝。 這個包裝模擬一個環境,然後通過execfile啓動其他python模塊。 有很多python模塊需要測試(> 200)。 這些模塊內部有一些硬編碼的變量,它們包含一些絕對文件路徑,這些文件路徑在我的模擬環境中不存在(我也無法創建它們)。這些文件路徑是選項文件的路徑,該腳本將讀入。每個模塊總是隻有一個選項 - 文件,並且該選項文件的文件路徑始終保存在同一個全局

    1熱度

    1回答

    我有它創建了一個子類的成員對象的構造: class OpenSprinkler: class CV: my_args = ['rsn', 'rbt', 'en', 'rd', 're'] my_longhand = {'reset_all':'rsn', 'reboot':'rbt', 'enable':'en',

    1熱度

    2回答

    我正在生成一個DocType類,以根據我的ORM構建映射和保存文檔。 def get_doc_type(self): attributes = {} ... # Build attributes dictionary here DT = type('DocType', (DocType,), attributes) return DT 這看

    1熱度

    1回答

    我想構建一個系統,其中每個其他對象都使用一個基類。每個基礎對象在內部都有一個_fields字典,其中基類的實現可以存儲其信息。 基類的實現很簡單: class A(object): def __init__(self, fields=dict()): self._fields = fields 類的實現可以設置在__init__調用其super()領域。 我想補充說的是,

    0熱度

    1回答

    根據Python的2.7.12文檔: 如果__setattr__()想分配給一個實例屬性,它應該 不能簡單地執行self.name = value - 這會導致遞歸調用 本身。相反,它應該將值插入實例屬性的詞典 中,例如self.__dict__[name] = value。 對於 新樣式類,而不是訪問實例字典,它應該調用具有相同名稱的基類方法,例如, object.__setattr__(sel

    1熱度

    1回答

    使用CPython 3.4.3(GCC 5.3.1 20160406(Red Hat 5.3.1-6))時,我在私有屬性上使用setattr和getattr時遇到了一個非常奇怪的行爲: class Short: def __init__(self): setattr(self, '__myatt', None) self.__myatt = 42 as

    0熱度

    4回答

    在this回答它顯示爲屬性傳遞給類__init__ 例如,kwargs/ARGS如何自動設置,我們可以這樣做: class Employee(object): def __init__(self, *initial_data, **kwargs): # EDIT self._allowed_attrs = ['name', 'surname', 'salary',

    1熱度

    2回答

    所以我試圖動態地設置屬性到不同名稱的類,其中每個屬性對我的數據庫進行獨特的調用。但是,當我訪問屬性對象時,儘管在不同的列上查看了各自完全不同的值,但它們都返回相同的結果。下面是代碼: class Configs: def __init__(self, guild_id): self.guild_id = guild_id for x in configs:

    1熱度

    2回答

    我有一個模型類,它有一個引用django數據庫對象的屬性。我想用setattr()來改變這個屬性,使用setattr()來改變這個對象的任何屬性。 問題是,我似乎無法通過堆棧傳遞一個對象實例。我不確定我是否可以爲此使用setattr()。其實我甚至不確定問題出在我嘗試使用setattr()或其他東西 - 請讓我知道! 錯誤的POST嘗試: ValueError at /dollhouseupdat