python14_类和对象_练习

题目1:封装一个学员类StudentStudy

属性:姓名、年龄、所在城市、期望薪资

方法一:打印学员正在学习的课程,课程作为参数传递,XXX学员正在学习XXX课程

方法二:打印学员的期望薪资,XXX学员学完后的期望薪资为XXX

实例化2个学员,分别调用方法一和方法二

class StudentStudy:
    def __init__(self,name,gender,city,want_salary):
        self.name = name
        self.gender = gender
        self.city = city
        self.want_salary = want_salary
    # 方法一:打印学员正在学习的课程
    def print_studing_course(self,course_name):
        print('{}学员正在学习{}课程'.format(self.name,course_name))
    # 方法二:打印学员的期望薪资
    def print_want_salary(self):
        print('{}学员学习完成后的期望薪资为{}'.format(self.name,self.want_salary))

创建实例化对象:

# 实例化对象1
xj = StudentStudy('xjj','女','北京',16000)
xj.print_studing_course('python自动化')
xj.print_want_salary()

# 实例化对象2
xh = StudentStudy('xhh','女','上海',20000)
xh.print_studing_course('python测开')
xh.print_want_salary()

题目2:封装一个员工类Employee

属性:员工姓名、工作年限、户籍城市、薪资、岗位名称

方法一:计算员工的一年薪资总额(不用含年终奖)

方法二:打印员工的姓名和工作年限:员工XXX工作年限为XX

(通过self访问员工名字和员工工作年限)

实例化2个员工,分别调用方法一(打印员工的年度薪资总额)和方法二

class Employee:

    def __init__(self,name,work_years,city,salary,job_name):
        self.name = name
        self.work_years = work_years
        self.city = city
        self.salary = salary
        self.job_name = job_name

    # 方法一:计算员工一年的薪资总额
    def print_year_salary(self):
        print('{}员工一年薪资总计为{}'.format(self.name,self.salary*12))

    # 方法二:打印员工的姓名和工作年限
    def print_employee_info(self):
        print('员工{}工作年限为{}年'.format(self.name,self.work_years))

创建实例化对象:

# 实例化对象1
e1 = Employee('xww',3,'北京',18000,'高级测试工程师')
e1.print_year_salary()
e1.print_employee_info()

# 实例化对象2
e2 = Employee('hw',6,'北京',21500,'开发主管')
e2.print_year_salary()
e2.print_employee_info()

题目3:定义一个类Dog,包含2个属性:名字和年龄。

定义一个方法eat吃东西

class Dog:
    def __init__(self,name,age):
        self.name = name
        self.age = age

    def eat(self):
        print('{}月的{}吃东西'.format(self.age,self.name))

创建实例化对象:

dog = Dog('fufu',18)
dog.eat()

题目4:定义一个登录的测试用例类LoginCase,每一个实例对象都是一个登录测试用例

属性:用例名称 预期结果 实际结果(初始化时不确定值)

方法:运行用例

说明:有2个参数:用户名和密码。能够登录成功的用户名:ayaoa,密码:666666

通过用户名和密码正确与否来判断,是否登录成功,并返回实际结果。

ps:可以在用例内部考虑处理不符合的情况:密码长度不是6位/密码不正确/用户名不正确等。

获取用例对比结果(比对预期结果和实际结果是否相等,并输出成功or失败)

实例化2个测试用例,并运行用例(调用方法),呈现用例结果(调用方法)

# 开发写的代码
def Login(username,password):
    if len(password) != 6:
        print('密码不正确')
        return False
    if username != 'yaoyao' or password != '123456':
        return False
    return True

# 测试写的代码
class LoginCase:
    def __init__(self,title='',expected=None):
        self.title = title
        self.expected = expected

    def run(self,username,password):
        actual = Login(username,password)
        if self.expected == actual:
            print('测试用例通过')
        else:
            print('测试用例不通过')

创建实例化对象:

# 实例化对象1
case = LoginCase(expected=True)
case.run('yaoyao','123456')

# 实例化对象2
case1 = LoginCase(expected=True)
case.run('abc','122')

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值