assert.py 936 字节
Newer Older
F
feilong 已提交
1
# -*- coding: UTF-8 -*-
F
feilong 已提交
2
# 作者:huanhuilong
F
feilong 已提交
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
# 标题:Python 断言
# 描述:所谓断言,就是证明,使用 assert 对输入函数输入参数和函数返回结果分别做前校验和后校验


def check_param(key_value_map, key):
    '''参数校验,断言就是对输入参数的一个证明,这些参数必须符合这些要求'''
    assert key_value_map is not None
    assert type(key_value_map) == type({})
    assert key is not None
    assert type(key) == type("")


def get(key_value_map, key):
    check_param(key_value_map, key)
    return key_value_map.get(key)


def set(key_value_map, key, value):
    check_param(key_value_map, key)
    key_value_map[key] = value


if __name__ == '__main__':
    key_value_map = {}
    set(key_value_map, "test", {})
    value = get(key_value_map, "test")

    print("后校验,返回值必须符合预期")
    assert type(value) == type({})
    assert value == {}