在类方法中引用另一个另一个类方法


 

# 创建一个人事系统类
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()


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM