Python是一種非常流行的編程語言,廣泛應用于數據科學和機器學習。在Python中,有一種叫做類變量的東西,它可以被所有類實例共享。在這個視頻中,我們將介紹類變量的概念和如何在Python中使用它們。
class Employee: # 定義類變量 raise_amount = 1.04 num_of_emps = 0 def __init__(self, first, last, pay): self.first = first self.last = last self.pay = pay # 每次實例化時將 num_of_emps 加 1 Employee.num_of_emps += 1 def apply_raise(self): # 使用類變量 self.pay = int(self.pay * self.raise_amount)
在上面的代碼中,我們創建了一個名為Employee的類。這個類有兩個類變量:raise_amount和num_of_emps。raise_amount是一個浮點數,表示員工的漲薪比例。num_of_emps是一個整數,表示目前有多少個員工實例化。
當我們實例化一個員工時,num_of_emps將自動加1。而raise_amount是每個員工共享的,當我們應用員工的漲薪時,我們可以直接使用類變量。
現在我們可以創建一些Employee實例,并嘗試使用它們的變量和方法。
# 創建實例 emp_1 = Employee('John', 'Doe', 50000) emp_2 = Employee('Jane', 'Doe', 60000) # 訪問類變量 print(Employee.raise_amount) print(emp_1.raise_amount) print(emp_2.raise_amount) # 修改類變量 Employee.raise_amount = 1.05 print(Employee.raise_amount) print(emp_1.raise_amount) print(emp_2.raise_amount) # 訪問實例變量和類變量 print(emp_1.pay) emp_1.apply_raise() print(emp_1.pay) # 訪問類變量 print(Employee.num_of_emps)
我們可以看到,Employee.raise_amount默認為1.04,并且所有實例共享該變量。我們也可以修改它,并查看所有實例中raise_amount的值是否發生了變化。我們還可以在實例中訪問類變量,并應用員工的漲薪。最后,我們可以打印出創建的員工實例數。
在Python中,類變量是一種非常有用的工具,它可以幫助我們以更有效的方式編寫代碼。在實際項目中,有很多情況下我們需要處理共享變量的問題,這時我們可以使用類變量來解決這個問題。