Fork me on GitHub

dict()的另一种用法

先了解两个内容:

  1. 定义字典的两种方法:

    d1 = { ‘name’ :‘zzl’}   #方法一

    d2 = dict( name = 'zzl' ) #方法二

 2. __dict__()方法不记录类的属性值。

class People():
    name = 'zzl'
    age = 18

    def __init__(self):
        self.gender = 'male'

p = People()
print(p.__dict__)

执行结果: { 'gender' : 'male' }

关于dict()的另一种用法:

 

class People():
    name = 'zzl'
    age = 18

    def __init__(self):
        self.gender = 'male'
    def keys(self):
        return {'name','age','gender'}
    def __getitem__(self, item):
        return getattr(self,item)

p = People()
d = dict(p)
print(d)

执行结果:{'name': 'zzl', 'age': 18, 'gender': 'male'}

将类的实例传入到dict()中,得到一个字典,键和值分别为实例的属性名和值。

一种序列化的方案。

posted @ 2018-10-24 23:51  MisterZZL  阅读(210)  评论(0编辑  收藏  举报