Comments (5)
Happy new year @yhhsteven,
If you only want to use addict as an attribute dict perhaps you should instead make a class like
class D:
def __init__(self, x):
self.attrs = addict.Dict()
self.x = x
and then use it like D(1).attrs.y
?
Thanks for using addict
!
from addict.
Hi, any update?
from addict.
Hey Steven,
Please see this discussion to see if it helps resolve your issue #101. If it doesn't please ping me again!
from addict.
Hi @yhhsteven,
The difference between addict 2.2.0 and 2.1.3 is that passing a missing key to __getitem__
2.2.0 returns an empty instance of your derived class instead of an empty addict.Dict. What do you think of replacing if out == {}
with if len(out) == 0
? A more elegant solution would be to re-implement the __missing__(self, name)
method of PLAYER to return getattr(PLAYERDB(self.pid), name)
. What do you think?
from addict.
@MisterVladimir @mewwts Thanks for your contributing! I like the idea changed in 2.2.0. I'm using the missing style right now. However, I ran into a problem when implement addict in this way, I'd like know if there is a better way to change my code:
class D(addict.Dict):
def __init__( self, x ):
super(D, self).__init__()
self.x = x
This intends to design a custom attribute x
while only utilizing addict as an attribute dict (not the recursive feature). This gives error TypeError: __init__() got an unexpected keyword argument '__parent'
when trying to access the missing attribute like D(1).y
.
I wonder if the addict's missing should add an AttributeError instead, for a better exception handling, or should I change my code to more correct way when subclassing addict?
Thank you and happy new year!
from addict.
Related Issues (20)
- confuse with int HOT 1
- Is it possible to forbid accessing missing keys? HOT 4
- Dict adds quote when retrieving str values HOT 1
- Dict() inconsistent with dict() initialization HOT 4
- Adding support for merge operator `|` and `|=` (as python 3.9 dict merge) HOT 1
- Maintainership & Altrenatives HOT 4
- 'function' object has no attribute when using freeze as a field
- Dict.__missing__ implementation leads to surprising behaviour HOT 1
- google-colab 1.0.0 has requirement ipykernel~=4.10 HOT 1
- copy broken by 2.4.0 HOT 1
- Arrays in dictionaries, how to denote HOT 1
- Shouldn't dictionary keys be encapsulated with u''? Isn't everything in python 3 Unicode?
- Suggestion on attributes containing dashes
- Dict Attributes not available to Autocomplete and not present in __dict__ HOT 4
- have stubs for minimal type annotation on addict
- Somehow inherit from TypedDict
- Keys starting with __ can't be referenced with dotted notation inside an object
- Creating a Dict from instances of classes that inherit from NamedTuple
- Support inheritance in merge operators `|` and `|=`
- Consider changing the "About" line for this repo?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from addict.