如何在Python中获取类属性的定义顺序?

前端之家收集整理的这篇文章主要介绍了如何在Python中获取类属性的定义顺序?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想定义应该代表数据结构的轻量级类.与许多数据结构的情况一样,数据的顺序很重要.所以,如果我继续定义:
class User(DataStructure):
    username = StringValue()
    password = StringValue()
    age = IntegerValue()

我暗示这是一个数据结构,其中首先是带有用户名的字符串,后跟带有密码的字符串,最后是用户的年龄作为整数.

如果你熟悉Python,你就会知道上面的类User是一个继承自类型的对象.就像Python中的大多数其他对象一样,它会有__dict__.这里存在我的问题.这个__dict__是一个哈希映射,因此__dict__中类属性的顺序与它们的定义顺序无关.

有什么方法可以找出实际的定义顺序吗?在我采用一种我能想到的不那么理智的方法之前,我在这里问…

哦,只是为了清楚,我想要的是一种方法解决上述定义:[‘username’,’password’,’age’]

解决方法

这在Python中根本不受支持. Django使用元类来处理它.看到这个问题: How does Django Know the Order to Render Form Fields?

(摘要:查看django.forms.forms.DeclarativeFieldsMetaclass,django.forms.forms.get_declared_fields以及如何在django.forms.fields.Field中使用creation_counter.)

原文链接:https://www.f2er.com/python/185889.html

猜你在找的Python相关文章