对象 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)
网友评论