Releases: gqylpy/gqylpy-dict
1.2.6
1.2.5
1.Optimize MasqueradeClass
and fix one of the errors.
2.Add support for Python12.
1.优化 MasqueradeClass
,并修正其中的一处错误。
2.增加对 Python12 支持。
1.2.4
- There are no functional changes in this update.
- Update
MasqueradeClass
, almost redesign. - Adjust the comment information for
gdict.__init__
and move it to__new__
. - Update the readme file.
1.此次更新没有任何功能上的变化。
2.更新 MasqueradeClass
,几乎重新设计。
3.调整 gdict.__init__
的注释信息,将其移动到 __new__
下。
4.更新自述文件。
1.2.3
- Fix issue where a new
gdict
instance was still created even when the value being assigned as a key-value pair was already an instance ofgdict
. #10 - Fix issue where calling
copy.copy
did not result in a deep copy. #11 - Add extensive and detailed functionality descriptions to the
gdict
class. - Adjust the functionality description of the
deepcopy
method. - Refactor (improve) the method of obtaining version information in
setup
by directly extracting it frompackage.__doc__
, rather than opening a file. - Adjust the classification information of the open-source library on PyPi.
- Update the README file to provide detailed explanations of the functionality and usage of
gdict
.
1.修复问题:设置键值对时,如果值已经是 gdict
实例,仍然会创建新的 gdict
实例。#10
2.修复问题:调用 copy.copy
得到深度拷贝的结果。#11
3.对 gdict
类添加了大量的详细的功能描述。
4.调整 deepcopy
方法的功能描述。
5.重构(改进) setup
中获得版本信息的方案,直接从 package.__doc__
中提取,而不再打开文件。
6.调整在PyPi上的开源库分类信息。
7.更新自述文件,详细地讲解 gdict
的功能和用法。
1.2.2
1.Continue optimize the gdict
core (initialization process), remove set
and frozenset
from the judgment logic of a recursive container instance and now recurse only list
and tuple
.
2.Improve MasqueradeClass
, masquerade the attribute __qualname__
.
3.Disable the __slots__
attribute, Because ChatGPT-3.5 argues that the use of __slots__
in gdict
is not very necessary and may cause some small performance loss.
1.继续优化 gdict
核心(初始化过程),递归容器实例的判断逻辑中移除 set
和 frozenset
,现在仅递归 list
和 tuple
。
2.改进 MasqueradeClass
,隐藏属性 __qualname__
。
3.停用 __slots__
属性来优化性能,因为 ChatGPT-3.5 认为 gdict
中使用 __slots__
不是很必要,反而可能会造成一些微小的性能损失。
1.2.1
1.Optimize logical blocks for real code imports.
2.Optimize the gdict
core again (initialization process). (A new gdict
instance is created whether or not it is already a gdict
instance.)
3.Perfectly solves the problem of not being able to pickle
some instances when calling copy.deepcopy
in the gdict
instances (add new method deepcopy
, incomplete deep copy, only copy internal container class instances). issue: #9.
4.Directly modified the parameter name of the deep
series methods keypath
-> deepkey
(no warning, no compatibility processing, rest assured there will be few compatibility issues).
5.In deepget
, no longer use the eval
function to try to evaluate for special key
(because eval
is too slow), use the elif
continuous statement instead.
6.Update the readme file, and open source library description information on PyPi.
1.优化真实代码导入的逻辑块。
2.再度优化 gdict
核心(初始化过程),无论是否已经是 gdict
实例,都会创建新的 gdict
实例。
3.在 gdict
实例中完美解决了在调用 copy.deepcopy
时个别实例无法被 pickle
的问题(新增方法 deepcopy
,不完全深度拷贝,仅拷贝内部的容器类实例)。问题: #9
4.直接修改了 deep
系列方法的参数名称 keypath
-> deepkey
(没有警告,也没有做任何兼容,放心几乎不会有兼容性问题)。
5.在 deepget
中,针对特殊的 key
不再使用 eval
函数尝试取值(因为 eval
太慢了),改为使用 elif
连续语句。
6.更新自述文件和PyPi上的开源库简述信息。
1.2
1.The unique value (the global variable unique
) no longer pursue individuality, but adopt a safe generic scheme.
2.Optimized MasqueradeClass
, including optimization of exception output, optimization of equality judgment method, and solved the problem that cannot copy
and deepcopy
correctly after masquerading hash value.
3.Optimized the gdict
core (initialization process), including optimizing the data merge scheme, changing the data decomposition scheme (using the original type of data), and no longer shredding iterators.
4.Fixed an issue in update
that could cause data clutter.
5.The methods deepget
and deepset
support manipulating the built-in dict
instances, and are therefore about to remove the methods getdeep
and setdeep
, using the former uniformly.
6.Optimized methods copy
, deepget
, deepset
, deepsetdefault
.
7.Parameter annotation and standardization greatly optimized.
1.唯一值(全局变量 unique
)不再追求个性,而是采用稳妥的通用方案。
2.优化了 MasqueradeClass
,包括优化了异常输出,优化了相等性判断方法,并解决了伪装哈希值后无法正确 copy
和 deepcopy
的问题。
3.优化了 gdict
核心(初始化过程),包括优化了数据合并方案,改变数据分解方案(使用数据的原始类型),并不再分解迭代器。
4.修复了 update
中可能导致数据混乱的问题。
5.方法 deepget
和 deepset
支持操作内置 dict
实例,并因此即将移除方法 getdeep
和 setdeep
,统一使用前者。
6.优化方法 copy
, deepget
, deepset
, deepsetdefault
。
7.参数注解及规范性大幅优化。
1.1.4
1.Improved several annotation semantics.
2.Fixed an incorrect type annotation.
1.1.3
1.Fix the deep copy bug.
1.1.2
1.Fixed the bug that cannot be serialized by yaml
.