python normalize函数_Python normalize包_程序模块 - PyPI - Python中文网

normalize包是一个类生成器和工具包,对于

编写“简单的旧数据结构”来包装来自网络源的数据

在python对象中。

它被称为“normalize”,因为它关注的是第一个normal

关系数据库建模的形式。

这是定义

通常称为“记录”(或rows)。

记录是定义的属性/属性集合(columns),

您大致了解每个属性/属性的期望值,以及

可以通过某种描述符(即属性名)访问它们。

也可以将其用作通用的声明性元编程。

框架,因为它附带了一个官方的元对象协议(MOP)API

为了描述这些信息,在python的概念之上构建

类/类型和描述符,必要时进行扩展。

简单地说,您编写python类来描述您的假设

关于你正在处理的数据结构,输入数据和

您将得到常规的python对象,这些对象具有

可以自然使用。

或者,你犯了错误,发现你必须重新审视你的假设。

然后可以对对象执行基本操作,例如make

对它们的更改并将其转换回,或将它们与另一个进行比较

使用富比较api的版本。

还可以使用常规python“本地”构造对象

关键字/值构造函数或通过将dict作为第一个

争论。

它的作用域与remoteobjects和

schematics包在pypi上,并可能在时间上演变为包含所有

这些包的特性。

虽然模块中有一些主键的概念,但主要用于

识别藏品中的物品进行比较的目的,

更高水平的正常化是留给

实施者。

功能声明式api,可以选择包含直接封送处理

提示:class Star(Record):

id = Property(isa=int, required=True)

name = Property(isa=str)

other_names = Property(json_name="otherNames")

类型描述(isa=)是完全可选的,但如果给定

将用于类型检查和强制。

富描述符api(在normalize.property中),包括

不只是“必需”和“isa”类型提示的概念,如上所示

还有默认函数、自定义类型检查函数和

强制功能。

它还提供了一个可扩展的属性-特征系统,增加了

通过可选属性子类的功能,自动选择,

启用:一次在python核心层缩短的惰性属性

计算(一个未充分使用的python特性)

只读属性

类型安全属性(即,指定时的类型检查)

集合属性(见下文)

从常规python字典或^{tt6}强制$

(kwargs)构造函数参数

所有类与json之间的转换,无论

它们派生出normalize.record.json.JsonRecord。支持自定义

json的函数封送入和出。

通过pickle api转换为原始python类型

(__getnewargs__)

new in 0.5:用于封送处理到其他

其他形式。有关新的

normalize.visitor.VisitorPatternapi。

具有项强制的类型化集合(当前仅限列表和dict):class StarSystem(Record):

components = ListProperty(Star)

alpha_centauri = StarSystem(

components=[{id=70890, name="Proxima Centauri"},

{id=71683, name="Alpha Centauri A"},

{id=71681, name="Alpha Centauri B"}]

)

“字段选择器”API,允许指定属性

深入嵌套数据结构;name_selector = FieldSelector("components", 0, "name")

print name_selector.get(alpha_centauri) # "Proxima Centauri"

返回两个记录之间差异的比较API

匹配类型。能够将属性标记为“无关”以跳过

比较(这也会影响==运算符)

…还有更多!

欢迎加入QQ群-->: 979659372

推荐PyPI第三方库

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值