【02 常用数据类型】

2.1 dict 字典

2.1.1 dict 字典

\quad 利用dict()创建空字典,常用函数为:利用dic.item()返回由“键值对组成元素“的列表,利用dic.keys()获取字典所有的key,利用dic.value()获取字典所有value。
\quad 利用list函数转成list后可以进行索引,也可以利用for循环进行索引。
\quad 可以利用dic.update([(key, value)])更新键值

a= dict()
a['apple'] = 2
a['orange'] = 3
# 返回由“键值对组成元素“的列表
print(a.items())
# 获取字典所有的key
print(a.keys())
# 获取字典所有value
print(a.values())

# 利用list函数转成list进行索引
b = list(a.keys())
print(b[0])

# 利用for循环进行索引
for m, n in a.items():
    print(m, n)

输出结果为

dict_items([('apple', 2), ('orange', 3)])
dict_keys(['apple', 'orange'])
dict_values([2, 3])
apple
apple 2
orange 3

2.1.1 OrderedDict 有序字典

参考:https://blog.csdn.net/longshaonihaoa/article/details/108469859
\quad python3.8中dict和OrderedDict均是有序的,按照插入先后顺序进行排序。

d = dict(name="muya", age=25, money="Zero") # dict和OrderedDict都满足有序插入
d["dream"] = "have money"  # 按键值对进行插入
d["other dream"] = "have gf"

for key, value in d.items():
    print(key, value)

输出结果(满足插入先后顺序)为

name muya
age 25
money Zero
dream have money
other dream have gf

2.2 tuple元组

2.2.1 单元素需要带逗号

\quad 当元组只有一个元素时,元素后面要带逗号。因为小括号既可以表示数学里面的小括号,又可以表示元组,只有一个元素时,不加逗号,则默认为数学里面的小括号。

a = (8)
print(type(a))
b = (8,)
print(type(b))

输出结果为

<class 'int'>
<class 'tuple'>

2.3 class类

参考:
https://blog.csdn.net/a__int__/article/details/104600972
https://blog.csdn.net/DeepOscar/article/details/80947155

2.3.1 类的继承

\quad 子类继承父类之后,就可以使用父类的函数和变量,其中函数利用super()可调用,变量利用self可调用:

class A:
    def __init__(self, name):
        self.name = name
        print(self.name)

    def methodA(self):
        print('we are using methodA of class A')

class B(A):
    def __init__(self, name, age): # 覆盖父类__init__函数
        self.age = age
        # 调用父类__init__函数
        super().__init__(name)

        # 调用父类methodA函数
        super().methodA()

        # 使用继承的变量
        print(self.name)

b = B('lihua', 28)

输出结果为

lihua
we are using methodA of class A
lihua

\quad 需要注意的有(1)子类函数名与父类函数名相同时,会覆盖父类函数,则只能调用子类函数;(2)python 2.x只能使用super(B, self).method调用父类函数,python 3.x两种方式均可以用;(3)python 2.x中区分class A()和class A(object),python 3.x则自动加载了object

class A:
    def __init__(self, name):
        self.name = name

    def methodA(self):
        print('we are using methodA of class A')

class B(A):
    def __init__(self, name, age): # 覆盖父类__init__函数
        self.age = age
        super().__init__(name)

    def methodA(self):
        print('we are using methodA of class B!!!!!!')

b = B('lihua', 28)
b.methodA()

输出结果为

we are using methodA of class B!!!!!!

你可能感兴趣的:(python常用语法,python)