Trong ví dụ trên, chúng tôi bắt đầu với 50 con cá trong ao địa phương. Sau khi bắt được 10 con cá, ta cập nhật số cá trong ao bằng số cá ban đầu trong ao trừ đi số cá bắt được. Ở cuối khối mã này, biến fish_in_clarks_pond
bằng 40
Cập nhật một biến bằng cách cộng hoặc trừ một số về giá trị ban đầu của nó là một nhiệm vụ phổ biến đến mức nó có cách viết tắt riêng để làm cho nó nhanh hơn và dễ đọc hơn
money_in_wallet = 40
sandwich_price = 7.50
sales_tax = .08 * sandwich_price
sandwich_price += sales_tax
money_in_wallet -= sandwich_price
Trong ví dụ trên, chúng tôi sử dụng giá của một chiếc bánh sandwich để tính thuế bán hàng. Sau khi tính thuế, chúng tôi thêm nó vào tổng giá của bánh sandwich. Cuối cùng, chúng tôi hoàn thành giao dịch bằng cách giảm money_in_wallet
của chúng tôi bằng chi phí của chiếc bánh sandwich (có thuế)
Các biến lớp được chia sẻ bởi tất cả các phiên bản và có thể được cập nhật trực tiếp trên lớp hoặc trong một phương thức lớp
Lớp có một biến lớp cls_id
và các biến thực thể name
và salary
Các biến lớp được chia sẻ bởi tất cả các phiên bản và có thể được truy cập trực tiếp trên lớp, e. g. Employee.cls_id
Các biến thể hiện là duy nhất cho mỗi thể hiện mà bạn tạo bằng cách khởi tạo lớp
Chúng tôi đã sử dụng một phương thức lớp để cập nhật biến cls_id
@classmethod
def set_cls_id(cls, new_cls_id):
cls.cls_id = new_cls_id
return cls.cls_id
Các phương thức lớp được chuyển qua lớp làm đối số đầu tiên
Lưu ý rằng bạn cũng có thể đặt các biến lớp trực tiếp trên lớp, e. g. Employee.cls_id = new_cls_id
Các biến lớp được chia sẻ bởi tất cả các phiên bản của lớp, trong khi các biến thể hiện là duy nhất cho mỗi phiên bản
Bạn sẽ thường xuyên phải cập nhật các biến đối tượng trong lớp hơn. Đây là một ví dụ
Cập nhật một biến thể hiện không cập nhật thuộc tính cho các thể hiện khác
Mặt khác, khi bạn cập nhật một biến lớp, giá trị sẽ được cập nhật cho tất cả các phiên bản
Cập nhật biến lớp cls_id
được phản ánh trong tất cả các phiên bản
Bạn có thể sử dụng lớp type()
nếu bạn cần truy cập một biến lớp từ một thể hiện của lớp
Thể hiện ghi đè biến cls_id
, vì vậy để truy cập biến lớp thực tế, chúng ta phải sử dụng lớp type()
Lớp trả về loại đối tượng
Thông thường, giá trị trả về giống với việc truy cập thuộc tính Employee.cls_variable = new_value
2 trên đối tượng
Đoạn mã sau sử dụng thuộc tính Employee.cls_variable = new_value
2 và đạt được kết quả tương tự
Truy cập các biến Lớp trong Python
Truy cập các biến lớp trực tiếp trên lớp, e. g. Employee.cls_variable = new_value
4. Các biến lớp được chia sẻ bởi tất cả các trường hợp
Bạn có thể truy cập các biến thể hiện bằng cách sử dụng đối tượng Employee.cls_variable = new_value
5, e. g. Employee.cls_variable = new_value
6. Các biến thể hiện là duy nhất cho mỗi thể hiện
Lớp có một biến lớp cls_id
và các biến thực thể name
và salary
Các biến lớp được chia sẻ bởi tất cả các phiên bản và có thể được truy cập trực tiếp trên lớp, e. g. Employee.cls_id
Các biến thể hiện là duy nhất cho mỗi thể hiện mà bạn tạo bằng cách khởi tạo lớp
Bạn cũng có thể truy cập các biến lớp bằng cách định nghĩa một phương thức lớp
Chúng tôi đã đánh dấu phương thức cls_id
1 là một phương thức lớp. Các phương thức lớp đối số đầu tiên được thông qua là lớp
Các phương thức thông thường được truyền một đối tượng Employee.cls_variable = new_value
5 cung cấp cho chúng ta một tham chiếu đến thể hiện
Các biến đối tượng name
và salary
là duy nhất cho mỗi đối tượng, nhưng các đối tượng chia sẻ cùng một biến lớp cls_id
Bạn có thể sử dụng lớp type()
nếu bạn cần truy cập một biến lớp từ một thể hiện của lớp
Thể hiện ghi đè biến cls_id
, vì vậy để truy cập biến lớp thực tế, chúng ta phải sử dụng lớp type()
Lớp trả về loại đối tượng
Thông thường, giá trị trả về giống với việc truy cập thuộc tính Employee.cls_variable = new_value
2 trên đối tượng
Đoạn mã sau sử dụng thuộc tính Employee.cls_variable = new_value
2 và đạt được kết quả tương tự
Bạn chọn cách tiếp cận nào là vấn đề sở thích cá nhân
Lớp type()
thanh lịch hơn vì chúng ta không phải truy cập các thuộc tính có tiền tố là hai dấu gạch dưới, nhưng thuộc tính Employee.cls_variable = new_value
2 thì rõ ràng hơn
Bạn có thể sửa đổi một biến trong Python không?
Một số giá trị trong python có thể sửa đổi được, còn một số thì không . Điều này không có nghĩa là chúng ta không thể thay đổi giá trị của một biến – nhưng nếu một biến chứa giá trị thuộc loại bất biến, chúng ta chỉ có thể gán cho nó một giá trị mới. Chúng tôi không thể thay đổi giá trị hiện tại theo bất kỳ cách nào.
Đó là những cách hợp lệ để cập nhật một biến?
Cập nhật biến bằng cách thêm 1 được gọi là gia số; . Đôi khi các lập trình viên cũng nói về việc tăng một biến, điều đó có nghĩa giống như việc tăng nó lên 1.
+= trong Python là gì?
Toán tử cộng-bằng += cung cấp một cách thuận tiện để thêm giá trị vào một biến hiện có và gán lại giá trị mới cho cùng một biến. In the case where the variable and the value are strings, this operator performs string concatenation instead of addition.