Skip to content

Python 编程语言

Python 编程语言与测试框架

学习价值

知识模块

  • Python 编程语言 L1

实战1: 计算器编码实战

简单计算器需要具备以下功能:

  1. 能够执行加减乘除运算。
  2. 输入的数字必须在范围[-99,99]内,超出范围的数字应该范围错误信息。
  3. 每个运算都需要返回运算的结果。

实战2: 计算器测试代码编写实战

实战要求:

  1. 实现对每个运算的验证。
  2. 每个运算至少包含一个正常场景和一个异常场景的验证。
  3. 添加断言信息

相关知识点

教程地址 教程视频地址 时间位置
安装Python(Windows) 安装Python(Windows) 全部
安装Pycharm 安装Pycharm 全部
第一个Python程序 第一个Python程序 全部
输入和输出 输入和输出 0 ~ 8分45秒
函数定义与调用 函数定义与调用 全部
变量 变量 0 ~ 10分20秒
算术运算符 算术运算符 全部
关系运算符 关系运算符 全部
赋值运算符 赋值运算符 0 ~ 6分28秒
逻辑运算符 逻辑运算符 0 ~ 14分
成员运算符 成员运算符 全部
字符串 字符串 0 ~ 14分40秒
列表 列表 0 ~ 9分
列表操作 列表操作 0 ~ 18分50秒
分支语句-if 分支语句-if 全部
Pytest 测试框架 Pytest 测试框架 0 ~ 21分25秒
Pytest 测试装置 Pytest 测试装置 21分26秒 ~ 30分25秒

实战代码

实战1: 计算器代码编写实战

def is_valid_input(num, limit):
    """验证数据是否符合限制"""
    return -limit <= num <= limit

def add(a, b, limit=99):
    """加法"""
    if not is_valid_input(a, limit) or not is_valid_input(b, limit):
        return f"请输入范围为【-{limit}, {limit}】的整数或浮点数"
    return a + b

def subtract(a, b, limit=99):
    """减法"""
    if not is_valid_input(a, limit) or not is_valid_input(b, limit):
        return f"请输入范围为【-{limit}, {limit}】的整数或浮点数"
    return a - b

def multiply(a, b, limit=99):
    """乘法"""
    if not is_valid_input(a, limit) or not is_valid_input(b, limit):
        return f"请输入范围为【-{limit}, {limit}】的整数或浮点数"
    return a * b

def divide(a, b, limit=99):
    """除法"""
    if not is_valid_input(a, limit) or not is_valid_input(b, limit):
        return f"请输入范围为【-{limit}, {limit}】的整数或浮点数"
    # 判断除数是否为0
    if b == 0:
        return "除数不能为0"
    return a / b

实战2: 计算器测试代码编写实战

class TestCalculator:
    def test_add(self):
        limit = 99
        res1 = add(1, 2, limit)
        res2 = add(100, 9, limit)
        assert res1 == 3
        assert res2 == f"请输入范围为【-{limit}, {limit}】的整数或浮点数"

    def test_subtract(self):
        limit = 100
        res1 = subtract(-99, 99, limit)
        res2 = subtract(102, 2, limit)
        assert res1 == -198
        assert res2 == f"请输入范围为【-{limit}, {limit}】的整数或浮点数"

    def test_multiply(self):
        limit = 80
        res1 = multiply(20, 40, limit)
        res2 = multiply(90, 2, limit)
        assert res1 == 800
        assert res2 == f"请输入范围为【-{limit}, {limit}】的整数或浮点数"

    def test_divide(self):
        limit = 90
        res1 = divide(20, 5, limit)
        res2 = divide(92, 2, limit)
        res3 = divide(90, 0, limit)
        assert res1 == 4.0
        assert res2 == f"请输入范围为【-{limit}, {limit}】的整数或浮点数"
        assert res3 == "除数不能为0"

总结

  • python 基础语法
  • pytest 收集规则和运行方式