想要获取类的传参参数,根据查询发现可以使用inspect达到该目的。

class Student():
    def __init__(self, name, age, gender):
        self.name = name
        self.age = age
        self.gender = gender


    def get_params(self):
        import inspect
        signature = inspect.signature(self.__init__)
        li = list(signature.parameters.keys())
        final_dict = {}
        for attribute, value in self.__dict__.items():
            if attribute not in li:
                continue
            final_dict[attribute] = value
        return final_dict

if __name__ == '__main__':
    s=Student("小明",20,"男")
    print(s.get_params())

输出结果

{'name': '小明', 'age': 20, 'gender': '男'}

参考文章:

https://docs.python.org/3/library/inspect.html

本文地址: http://chenxm.cc/article/1209.html
版权声明: 本文为原创文章,版权归  陈新明  所有,欢迎分享本文,转载请保留出处!
上一篇: python 匹配两个不同字符串的相似度
下一篇: linux 安装Homebrew 提示brew: command not found
发表评论

还没有留言,还不快点抢沙发?