目录
- 1 easydict的使用
- 2. 集合(set)
- 3 plt.subplots()使用
- 4. assert断言
1 easydict的使用
easydict的作用:EasyDict允许将dict值作为属性访问。
>>> from easydict import EasyDict as edict
>>> d = edict({'foo':3, 'bar':{'x':1, 'y':2}})
>>> d.foo
3
>>> d.bar.x
1>>> d = edict(foo=3)
>>> d.foo
3
解析json目录
>>> from easydict import EasyDict as edict
>>> from simplejson import loads
>>> j = """{
"Buffer": 12,
"List1": [{"type" : "point", "coordinates" : [100.1,54.9] },{"type" : "point", "coordinates" : [109.4,65.1] },{"type" : "point", "coordinates" : [115.2,80.2] },{"type" : "point", "coordinates" : [150.9,97.8] }
]
}"""
>>> d = edict(loads(j))
>>> d.Buffer
12
>>> d.List1[0].coordinates[1]
54.9
2. 集合(set)
集合(set)
是一个无序的不重复元素序列。
可以使用大括号 { }
或者 set()
函数创建集合,注意:创建一个空集合必须用 set()
而不是 { }
,因为 { }
是用来创建一个空字典。
basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
print(basket)
color = ['black', 'black', 'blue', 'blue', 'blue', 'red', 'red']
print(set(color))
{'orange', 'apple', 'banana', 'pear'}
{'red', 'black', 'blue'}
3 plt.subplots()使用
在用matplotlib绘制图形时,我经常要绘制子图,此时我们就可以使用函数
plt.subplots()
fig,ax = plt.subplots()的意思建立一个fig对象和建立一个axis对象,当我绘制2*2的个子图时候我们需要
fig,ax = plt.subplots(2,2,figsize=(9,25))
ax1 = plt.subplot(221)
ax1.scatter(x1,y1)
ax1 = plt.subplot(222)
ax1.scatter(x2,y2)
ax[0].scatter(x1,y1)
ax[1].scatter(x1,y1)
以上就是 plt.subplots()的作用,我们举个栗子:
3.1 方法1
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as mpathes
fig,ax = plt.subplots(1,2,figsize=(9,5))
xy1 = np.array([0.2,0.8])
xy2 = np.array([0.2,0.8])ax1 = plt.subplot(121)
ax2 = plt.subplot(122)
rect1 = mpathes.Rectangle(xy2,0.2,0.1,fill=False,color='r')
rect2 = mpathes.Rectangle(xy2,0.2,0.1,fill=False,color='b')ax1.add_patch(rect1)
ax2.add_patch(rect2)
ax1.set_title('test_1')
ax2.set_title('test_2')ax1.grid()
ax2.grid()
plt.show()
3.2 方法2
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as mpathes
fig,ax = plt.subplots(1,2,figsize=(9,4))
xy = np.array([0.2,0.8])
rect1 = mpathes.Rectangle(xy,0.2,0.1,fill=False,color='r')
rect2 = mpathes.Rectangle(xy,0.2,0.1,fill=False,color='b')ax[0].add_patch(rect1)
ax[1].add_patch(rect2)
ax[0].set_title('test_1')
ax[1].set_title('test_2')
plt.show()
4. assert断言
检查条件,不符合就终止程序
In [1]: a = 3In [2]: assert a > 4,"不成立"
---------------------------------------------------AssertionError Traceback (most recent call last) in
----> 1 assert a > 4,"不成立"AssertionError: 不成立
满足条件,程序可以正常运行
In [4]: assert a <4In [5]: