cost 259 ms
帶有嵌套字典和 attrs.define( converter=foo ) 的 cattrs.structure

[英]cattrs.structure with nested dictionaries and attrs.define( converter=foo )

我在將包含無效數據的字典結構化為@attrs.define裝飾類時遇到問題,但應該使用attrs.define轉換器處理。 我已經設法讓它與Foo( **dct )一起工作,它確實為每個屬性調用轉換器,但是當使用cattrs.structure( dct, Foo )或cattrs.Convert ...

python 屬性繼承的字段值被覆蓋

[英]python attrs inherited field value gets overwritten

我有一些繼承自基類attrs的屬性類。父類 class 有一個字段也是屬性 class。 如果我實例化子類的兩個實例並設置公共繼承字段的子字段,則另一個實例的字段也會被覆蓋。 我可以通過使用該字段的factory來使用partial (方法 3)指定所需的默認值來解決此問題。 看起來,使用方法 1 ...

如何自定義attrs字段hash

[英]How to customize attrs field hash

我想使用 Numpy 數組作為字段值,同時保持我的屬性attrs可哈希。 為此,我發現joblib 的hash() function 是散列 Numpy arrays 的好方法。是否有可能繼續使用attrs的默認值 hash function,同時手動指定如何使用每個字段,例如 883518822 ...

如何使用驗證器注釋 attrs 字段?

[英]How to annotate attrs field with validator?

我在注釋 attrs class 屬性時遇到問題。 我正在使用 NewType 來定義新的 UserId 類型和屬性凍結類。 這是 mypy 沒有抱怨的代碼,一切正常: mypy 檢查此代碼時沒有任何問題。 使用來自 attrs 的驗證器后出現問題。 mypy 現在抱怨不正確的類型: pro ...

使用 cattrs / attrs where attr name does not match keys to create an object

[英]Using cattrs / attrs where attr name does not match keys to create an object

我正在考慮從輸入所有類的完全手動過程轉移到 cattrs / attrs,但需要一些幫助來理解如何實現以下目標。 這是一個示例,但返回的數據會有所不同,有時不會填充所有字段。 因此,我了解您將如何構建它,並且它與預期的 1:1 映射完美配合,但是您將如何動態創建 PartialUser 對象,因為 ...

有沒有一種簡單的方法可以從 attrs 對象的 Iterable 構造 pandas DataFrame ?

[英]Is there an easy way to construct a pandas DataFrame from an Iterable of attrs objects?

可以像這樣使用dataclass es 做到這一點: 這使得DataFrame df具有預期的i和s列。 有沒有一種簡單的方法可以使用attrs class 來做到這一點? 我可以通過遍歷對象的屬性並構建 object 類型的dict[str, list] ( {"i": [1, 2], "s": ...

當值不是 None 時,如何用另一個實例覆蓋 attrs class 實例

[英]How to override an attrs class instance with another one when the values are not None

我的目標是能夠合並相同attrs class 的多個實例並跳過“無”值。 這允許我創建默認值,然后在需要時覆蓋它們。 預期代碼的示例-from attr import attrs @attrs(auto_attribs=True) class A: a: int = None b: ...

在 attr 模塊中定義自定義屬性

[英]Define custom atrributes in attr module

我正在尋找可以根據需要定義 class 屬性的方法。 例如,我嘗試過這種方式:@attrs.define class MyClass: pass MyClass(a=1, b=2) 但收到 TypeError: 是否有可能實現我想要的? ...

正確的 mro 訂單屬性 object 找不到抽象屬性

[英]Correct mro order attrs object can't find abstract property

以下運行良好: 在這里, C有一個從B繼承的 function prop ,該道具在 MRO 訂單中首先找到,因此A不會抱怨它的存在。 我也用dataclass試過這個: 但是,這不適用於attr : 運行它: 我正在使用的代碼庫已經標准化了attr的使用,所以如果可能的話,我想繼續使用attr 。 ...

如何指定 Attrs 中的字段順序?

[英]How can I specify order of fields in Attrs?

取自attrs示例here,但添加group_id & name 。 我想創建數據類,然后我可以使用json.dump()將它們導出到 JSON 。 打印出這個: 但是,我的問題是我希望group-id位於最頂部,並且name是列表中的第一個。 像這樣的東西: 似乎attrs在初始化時組織 ...

def __init__ 中的凍結數據類並對其進行迭代

[英]frozen dataclass in def __init__ and iteration on it

我想使用凍結的 class 作為結構,因為我不想在我的代碼中使用任何可變對象。 但我也需要迭代my_data 。 我怎樣才能使這項工作? 旁注:dict 不是一個選項 當然,我遇到了一個錯誤 ...

將參數傳遞給凍結的超級數據類

[英]Passing parameters to frozen super dataclass

我有一個簡單的(凍結的)數據類 inheritance 如下: 根據文檔,它看起來很有希望: attrs_pre_init會在 attrs 開始初始化之前自動檢測並運行。 如果您需要注入對 super() 的調用,這很有用。 初始化() 但是當我檢查mypy時,我得到: 請注意,這不是this的副 ...

如何在不破壞“attrs”驗證器 function 的情況下注釋它?

[英]How do I annotate an `attrs` validator function without breaking it?

使用 attrs 庫,我可以為屬性值定義一個驗證器: Foo(1)實例化成功,而Foo(2)實例化失敗並出現ValueError ,如預期的那樣。 不出所料,這段代碼不進行類型檢查(根據mypy --strict ): 但是,我不知道如何注釋它以便它這樣做。 天真的第一次嘗試可能看起來像: 但是 ...

具有非平凡構造函數的凍結數據類

[英]frozen data class with non trivial constructor

我正在嘗試使用非平凡的構造函數定義一個凍結的數據類 也就是說,構造函數需要在初始化相應的數據成員之前“調整”輸入: 當我檢查文檔時,我看到了 如果一個類被凍結,你不能在attrs_post_init或一個自寫的init中修改 self。 您可以通過使用對象來規避該限制。 setat ...

正確向后兼容的方式遷移到現代 attrs/cattrs 樣式?

[英]Correct backwards-compatible way to migrate to modern attrs/cattrs style?

問題 我有一組項目,我從 2020 年初開始使用 attrs v19.3.0 和 cattrs 進行序列化/反序列化。 將這些項目中的類從舊的@attr.s / attr.ib樣式遷移到帶有@define和@frozen的現代樣式的正確、完全向后兼容的方法是什么? 問題說明 我的假設是我可以混合和 ...

使用 ATTRS 創建客戶轉換器和驗證器

[英]Create a customer converter and validator using ATTRS

我正在嘗試學習 attrs,我有兩個問題。 請注意,我使用的是 ATTRS 庫,而不是 ATTR。 如何創建轉換器以將 typ 更改為大寫? ---> 我解決了這個問題。 下面的公式已更新。 :) 如何創建驗證器以確保 typ 包含在列表中? 我在兩者上都嘗試了很多東西,但無濟於事。 該文 ...

為什么我不能給 attrs object 添加屬性?

[英]Why can I not add attributes to an attrs object?

考慮這個例子: 這失敗了一個例外: AttributeError: 'A' object 沒有屬性 'field'。 為什么我不能將字段添加到 attrs object? 當然請注意,這在刪除 attrs 裝飾器時確實有效。 ...

使用 Python 的 attrs,是否可以從生成的 __repr__ 中刪除前導下划線

[英]With Python's attrs, is it possible to remove leading underscores from the generated __repr__

在我使用 attrs 的項目中,我定義了一些帶有前導下划線的字段,以便我可以創建一個同名的屬性減去前導下划線。 我這樣做是因為我在設置值時向 setter 方法添加了一些簡單的邏輯(非常重要)。 我想知道是否有辦法從__repr__中刪除前導下划線。 經過一些谷歌搜索后我找不到任何關於這個的信息,所 ...


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