字典(dict)是Python语言中内置的一种数据类型,在Python的类中灵活使用字典可能会起到意想不到的效果,简化我们的编程代码,下面通过一个例子进行说明。
类的定义
先看下面一个类的定义,代码如下所示:
在上面的代码中定义了一个学生类Student,类中使用了一个字典,用字典存储学生类的三个属性:“name”、“age”和“score”,并且可随时对其实例的属性恢复其默认值、赋新值或获取其值,代码具体说明如下:
第11-15行,定义类的私有成员变量“__attributes”,它是一个字典,仅在类内部用作保存学生类的三个属性“name”、“age”和“score”的默认值第16-18行,类的初始化函数,第17行首先定义了一个类的成员变量self.attributes为空字典,第18行调用setDefaultAttribute函数为其赋值第20-21行,定义setDefaultAttribute函数,这儿使用了字典的update函数,将私有成员变量“__attributes”的值赋给类的成员变量self.attributes,供其实例调用。所以这儿self.attributes存储了学生类的三个属性“name”、“age”和“score”的默认值,第23-26行,定义setAttribute函数,通过一个字典参数kwargs用来设置self.attributes字典中“name”、“age”和“score”的值,这儿设定新值之前,先对输入的kwargs中每个关键字判断其是否属于该类属性的关键字,若属于,才赋值第28-29行,定义getAttribute函数,通过输入关键字获得类的属性值
类的使用例子
使用上面的学生类编写了一个例子,代码如下:
代码简要说明如下:
第31-32行,定义学生类的一个实例student,并直接通过其成员变量attributes打印出其三个属性值第34-35行,调用setAttribute函数更新student的属性值,打印出其三个属性值第37-38行,调用setDefaultAttribute函数,将student的属性值恢复为默认值,打印出其三个属性值第40-41行,调用setAttribute函数,只更新student的其中一个name属性值,打印出其三个属性值第43行,调用getAttribute函数,仅打印出name属性值
运行结果如下图所示:
结论
通过上面的例子可看出,在类中使用字典类型,可方便保存类的多个属性值,并且可以通过调用字典的相关函数,随时对类实例的属性恢复默认值、赋新值或获取其值等操作,相对来说,是比较简单的一种方法。
欢迎加