字典和面向对象编程

时间:2022-10-11 16:46:22

字典

使用字典

在Python中,字典是一系列键-值对。每个都与一个值相关联,你可以使用键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。事实上,可将任何Python对象用作字典中的值。
键-值对是两个相关联的值。键和值之间用逗号分隔。在字典中,你想存储多少个键-值对都可以。最简单的字典只有一个键-值对。
要获取与键相关联的值,可依次指定字典名和放在方括号内的键。
下例里展示了字典的基本用法:

def main():
    dict1 = {'name': '王琦尧', 'age': '24', 'gender': True,}
    print(dict1['name'])  # 输出结果'王琦尧'
    dict1['name'] = '王大锤'  # 将name对应的值修改为'王大锤'
    print(dict1)  
    dict1.update(height=173.5, fav=['吃', '喝'])  # 添加键-值对
    print(dict1.pop('age'))
    print(dict1.popitem())  # 删掉最后一个
    del dict1['gender']
    print(dict1)

if __name__ == '__main__':
    main()

遍历字典

我们可以用for循环遍历字典提取字典中的信息
下例通过for循环遍历字典并将字典中的键-值互换位置:

def main():
    dict1 = {'name':'王大锤','年龄':25,'爱好':'打球'}
    dict2 = {}
    for name, key in dict1.items():
        dict2[key] = name
    print(dict2)


if __name__ == '__main__':
    main()
# 输出结果为{'王大锤': 'name', 25: '年龄', '打球': '爱好'}

遍历字典,会默认遍历所有的键。我们可以通过键访问相对应的值,同样的,我们也可以只访问键而不访问值。

嵌套

有时候,需要将一系列字典存储在列表中,或将列表作为值存储在字典中,这称为嵌套。同样的,我们也能在字典中存储字典。

面向对象编程是最有效的软件编写方法之一。在面向对象编程中,你编写表示现实世界中的事物情景的类,并基于这些类来创建对象。编写类时,你定义一大类对象都有的通用行为。基于类创建对象时,每个对象都自动具备这种通用行为,然后可根据需要赋予每个对象独特的个性。使用面向对象编程可模拟现实情景,其逼真程度达到了令你惊讶的地步。
面向对象最重要的概念就是类(Class)实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。
简单的说,类是对象的蓝图和模板,而对象是类的实例。这个解释虽然有点像用概念在解释概念,但是从这句话我们至少可以看出,类是抽象的概念,而对象是具体的东西。在面向对象编程的世界中,一切皆为对象,对象都有属性和行为,每个对象都是独一无二的,而且对象一定属于某个类(型)。当我们把一大堆拥有共同特征的对象的静态特征(属性)和动态特征(行为)都抽取出来后,就可以定义出一个叫做“类”的东西。