Git Product home page Git Product logo

gqylpy-dict's Introduction

LOGO Release Python Versions License Downloads

gqylpy-dict

gqylpy-dict 基于内置 dict,它是对内置 dict 的增强。内置 dict 能做的它都能做,内置 dict 不能做的它更能做。(专为神经病设计)

pip3 install gqylpy_dict

>>> from gqylpy_dict import gdict

>>> gdict == dict
True

>>> gdict is dict
False

>>> x = {'a': [{'b': 'B'}]}
>>> x = gdict(x)
>>> x.a[0].b
'B'

>>> x.deepget('a[0].b')
'B'

我们再详细地介绍一下 gdict 类的功能和用法。

首先,gdict 类是一个自定义字典类,继承自 Python 内置的 dict 类。gdict 类有一个特殊的功能是支持点操作符(.)访问和修改字典中的键值对。这意味着,我们可以像访问对象的属性一样访问字典中的值。比如,有一个字典 {'name': 'Tom', 'age': 25},我们可以这样定义一个 gdict 对象:

my_dict = gdict({'name': 'Tom', 'age': 25})

通过点操作符,我们可以访问这个字典的值:

my_dict.name  # 'Tom'
my_dict.age  # 25

我们甚至可以修改这个字典的值:

my_dict.name = 'Jerry'

此时,这个字典中 'name' 这个键对应的值已经被修改为 'Jerry'

另外,gdict 还支持多层嵌套的数据结构,也就是说,gdict 对象中存储的键和值也可以是字典类型。比如:

my_dict = gdict({
    'personal_info': {'name': 'Tom', 'age': 25},
    'work_info': {'company': 'ABC Inc.', 'position': 'Engineer'}
})

我们可以访问和修改嵌套字典中的值:

my_dict.personal_info.name  # 'Tom'
my_dict.work_info.position = 'Manager'

除了点操作符,我们也可以使用普通的字典操作方式访问和修改 gdict 对象中的值:

my_dict['personal_info']['name']  # 'Tom'
my_dict['work_info']['position'] = 'Manager'

最后,gdict 类在实例化时支持多种不同的输入方式:

my_dict = gdict({'name': 'Tom', 'age': 25})
my_dict = gdict(name='Tom', age=25)
my_dict = gdict([('name', 'Tom'), ('age', 25)])

以上就是 gdict 类的主要功能和用法。总体来说,gdict 类的设计和实现提供了一种方便的、可扩展的数据结构,可以更加灵活地操作 Python 字典对象。

gqylpy-dict's People

Contributors

2018-11-27 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.