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对象和一个axis对象,figsize设置对象的大小 fig,ax = plt.subplots(2,2,figsize=(9,25)) #选定第2个子图 ax1 = plt.subplot(221) ax1.scatter(x1,y1) #选定第2个子图 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 #设置2个子图 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) #绘制子图1对象 ax2 = plt.subplot(122) #绘制子图2对象 #设定绘制边框的尺寸 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) #对子图1进行绘制 ax2.add_patch(rect2) #对子图2进行绘制 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 #设置2个子图 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) #对子图1进行绘制 ax[1].add_patch(rect2) #对子图2进行绘制 ax[0].set_title('test_1') ax[1].set_title('test_2') plt.show()
4. assert断言
检查条件,不符合就终止程序
In [1]: a = 3 In [2]: assert a > 4,"不成立" --------------------------------------------------- AssertionError Traceback (most recent call last) <ipython-input-2-f85067b2b9c1> in <module> ----> 1 assert a > 4,"不成立" AssertionError: 不成立
满足条件,程序可以正常运行
In [4]: assert a < 4 In [5]: