# 創建一個人事系統類
class hrSystem:
# 創建存儲員工名字的變量 name
name = ''
# 創建存儲員工工資的變量 salary
salary = 0
# 創建存儲員工績效的變量 kpi
kpi = 0
# 定義錄入員工信息的類方法
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()