我正在查看https://github.com/hit9/CURD.py/blob/master/CURD.py的代码,这是一个执行正常curd操作的简单orm。。我不明白代码的一部分是这样的(在616行):
.....#smthing #..
for name, attr in cls.__dict__.iteritems():
if isinstance(attr, Field):
attr.describe(name, cls)
fields[name] = attr
做什么属性描述(属性,字段)do?我在谷歌上查了一下,但什么也没找到。在
它不是Python语言的特性,而是库上的一个方法。您可以在这里看到定义:
https://github.com/hit9/CURD.py/blob/master/CURD.py#L251
setattr
设置对象的属性。因此,如果我调用describe("field_name", myObject)
,它将把myObject.field_name
设置为模型的描述。或者类似的事情。在这不是python标准的东西。在
循环遍历一个类的名称和值,该类的属性(即
Field
类型的实例)被添加到字典中。在Field
不是python标准库的一部分,您应该在该项目中搜索Field
类。在相关问题 更多 >
编程相关推荐