\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
参考: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
\quad 当元组只有一个元素时,元素后面要带逗号。因为小括号既可以表示数学里面的小括号,又可以表示元组,只有一个元素时,不加逗号,则默认为数学里面的小括号。
a = (8)
print(type(a))
b = (8,)
print(type(b))
输出结果为
<class 'int'>
<class 'tuple'>
参考:
https://blog.csdn.net/a__int__/article/details/104600972
https://blog.csdn.net/DeepOscar/article/details/80947155
\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!!!!!!