在類方法中引用另一個另一個類方法


 

# 創建一個人事系統類
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