python3 常用方法

对象 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)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. __str__ 和 __repr__ 用于 对象的终端输出。class test(object): ...
    whit_py阅读 467评论 0 0
  • 基本语法 输入输出 print / input 如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Py...
    bitzoo阅读 1,705评论 0 0
  • # 第一优先级规则声明: # 除了梦境,每一个意识主进程都必须与一个身体参与的机械进程相匹配,否则结束意识主进程。...
    李洞BarryLi阅读 3,943评论 0 1
  • 目录 一,python 字符串 二,Python列表(List) 三,Python 元组 四,Python字典 五...
    weiwei_js阅读 367评论 0 0
  • 写在前面的话 代码中的# > 表示的是输出结果 输入 使用input()函数 用法 注意input函数输出的均是字...
    FlyingLittlePG阅读 3,016评论 0 9