美文网首页
python3 常用方法

python3 常用方法

作者: 周六放风筝 | 来源:发表于2021-07-05 10:46 被阅读0次

    对象 get set方法生成

    if __name__ == '__main__':
    # Country 是你自己定义的类
        obj = Country() 
        print(obj.__dict__)
        for k in obj.__dict__:
            print("def set_" + k + "(self," + k + "):")
            print("\tself." + k, "=" + k)
            print("def get_" + k + "(self):")
            print("\treturn self." + k)
    

    自定义对象打印所有属性

    def obj_to_string(cls, obj):
        """
        简单地实现类似对象打印的方法
        :param cls: 对应的类(如果是继承的类也没有关系,比如A(object), cls参数传object一样适用,如果你不想这样,可以修改第一个if)
        :param obj: 对应类的实例
        :return: 实例对象的to_string
        """
        if not isinstance(obj, cls):
            raise TypeError("obj_to_string func: 'the object is not an instance of the specify class.'")
        to_string = str(cls.__name__) + "("
        items = obj.__dict__
        n = 0
        for k in items:
            if k.startswith("_"):
                continue
            to_string = to_string + str(k) + "=" + str(items[k]) + ","
            n += 1
        if n == 0:
            to_string += str(cls.__name__).lower() + ": 'Instantiated objects have no property values'"
        return to_string.rstrip(",") + ")"
    
    

    使用方法 在自定义对象中 添加 下列方法 之后 直接print(obj) 即可打印

        def __str__(self):
            return obj_to_string(Country, self)
    

    相关文章

      网友评论

          本文标题:python3 常用方法

          本文链接:https://www.haomeiwen.com/subject/nyvbultx.html