zoukankan      html  css  js  c++  java
  • 在类方法中引用另一个另一个类方法

    # 创建一个人事系统类
    class hrSystem:
    # 创建存储员工名字的变量 name
    name = ''
    # 创建存储员工工资的变量 salary
    salary = 0
    # 创建存储员工绩效的变量 kpi 
    kpi = 0

    # 定义录入员工信息的类方法
    @classmethod
    def record(cls, name, salary, kpi):
        cls.name = name
        cls.salary = salary
        cls.kpi = kpi
    # 定义打印员工信息的类方法
    @classmethod
    def print_record(cls):
        if cls.check_name(): # 以 cls.check_name() 的返回值(0或1)作为判断条件。
    问题: 要在一个类方法中引用另一个类方法,在红色区域处引用下面黄色区域处,使得在黄色区域成立的情况下才执行红色区域处。
    方法:在这个类方法中引用另一个类方法,只要另一个方法满足条件,即可执行这一个类方法
    (也可以说,使得另一个类方法 为真,)为真即代表满足条件。如何为真呢?0为假,1为真,只要这个方法的值为1,即可,因此让这个方法成立才能使得这个方法成立的条件  返回值为1,就行了。
     
    其实就是让引用的方法,需要的那个条件成立,那就让那个条件返回个1,
     
     
    print(cls.name + '的工作信息如下:')
    print('本月工资:' + str(cls.salary))
    print('本年绩效:' + str(cls.kpi))
    # 定义根据 kpi 评奖的类方法
    @classmethod
    def kpi_reward(cls):
        if cls.kpi > 95:
            print('恭喜' + cls.name + '拿到明星员工奖杯!')
        elif cls.kpi <= 95 and cls.kpi >= 80:
            print('恭喜' + cls.name + '拿到优秀员工奖杯!')
        else:
            print('很遗憾' + cls.name + '这次没有评上奖杯,希望来年努力工作,勇创佳绩!')                
    # 检查录入名称是否正确的类方法
    @classmethod
    def check_name(cls):
        if cls.name not in ['bob', 'candy', 'jony', 'kelly']:
            print('录入错误!' + cls.name + '不是本公司员工!')
            return 0 # 设置返回值为0
        else:
            print('录入正确~')
            return 1 # 设置返回值为1
            
    # 验证结果的代码
    hrSystem.record('spy', 3000, 60)
    hrSystem.print_record()
  • 相关阅读:
    redis+Keepalived实现Redis主从复制
    Python基础之【第一篇】
    Django之常用命令以及问题汇总
    Django之ORM数据库
    牛掰的python与unix
    Django配置Bootstrap, js
    Django基础教程
    Django安装
    前端学习之jQuery
    centos7安装python3 以及tab补全功能
  • 原文地址:https://www.cnblogs.com/waterr/p/14141550.html
Copyright © 2011-2022 走看看