简化数据结构的初始化过程

Posted xli4n

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简化数据结构的初始化过程相关的知识,希望对你有一定的参考价值。

如果有很多类,需要做很多样式重复的_init_()函数,可以尝试以下的方法:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2019-01-23 15:31
# @Author  : 
# @File    : test_init.py
# @Software: Pycharm professional


class Structure:
    _fields = []

    def __init__(self, *args):
        if len(args) != len(self._fields):
            raise TypeError(‘arguments not match‘)
        for name, value in zip(self._fields, args):
            setattr(self, name, value)


class Stock(Structure):
    _fields = [‘name‘, ‘price‘]


class Shose(Structure):
    _fields = [‘id‘]


if __name__ == ‘__main__‘:
    s = Stock(‘AAA‘, 15)
    shose = Shose(1)
    print(s.name)
    print(s.price)
    print(shose.id)

以上是关于简化数据结构的初始化过程的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 C 代码片段不起作用?简化版可以。为 unsigned long long 传递不带 VA_ARGS 的 args

Spring Boot:简化Spring应用初始搭建以及开发过程(转)

如何使用 Swift 使用此代码片段为 iOS 应用程序初始化 SDK?

HashMap原理:哈希函数的设计

php 简化主题片段

JAVA中对象创建和初始化过程