Trong lập trình, một biến là một đại diện của một phần dữ liệu. biến có thể được đặt tên theo hầu hết mọi thứ — và giá trị được lưu trữ trong biến có thể là bất cứ thứ gì. Tên biến không được bắt đầu bằng số và phải là chữ và số. Đây là ví dụ về biến trong Python Show
Như được minh họa trong ví dụ trên, một biến thực sự có thể chứa bất kỳ thứ gì — từ số nguyên đến số thập phân cho đến từ Python là ngôn ngữ lập trình hướng đối tượng (OOP), nghĩa là các lớp được sử dụng để biểu diễn cấu trúc của dữ liệu mà chúng ta muốn thao tác. Đối với OOP, các biến có thể được lưu trữ ở hai dạng. biến thể hiện và biến lớp. Có nền tảng vững chắc về Lập trình hướng đối tượng sẽ giúp việc học Python trở nên dễ dàng hơn rất nhiều Python 3 Chuỗi, Danh sách và Từ điển
HÀNG THÁNG USD/người học/tháng HÀNG NĂM USD/người học/tháng Xem bây giờ Lớp học là gìMột lớp là một đại diện của dữ liệu chúng tôi muốn sử dụng trong ngôn ngữ lập trình. Hãy nghĩ về nó như một cách lưu trữ dữ liệu liên quan theo cách hợp lý. Một lớp đóng vai trò là bản thiết kế để xây dựng các đối tượng và các đối tượng này thường được lưu trữ trong các biến và được chuyển qua chương trình. Hãy xem một ví dụ nhanh
Trong ví dụ trên, chúng ta đang tạo một lớp có tên là Chó. Dog là một lớp đơn giản có ba phương thức. vỏ cây, yip, và gâu gâu. Hãy nghĩ về một phương pháp như một công thức. Nó nhận tham số hoặc không có tham số trong trường hợp này và thực hiện một số thao tác liên quan đến lớp Sau khi tạo lớp, chúng tôi khởi tạo lớp. Tôi. E, đã lưu trữ nó trong một biến có tên là Saint_bernard và chow_chow. Sau khi khởi tạo lớp, chúng tôi đã gọi hai phương thức, phương thức này sẽ in ra các từ mà chúng tôi đã lập trình trước đó. Vì vậy, tất cả những điều này có liên quan gì đến các biến?
Biến lớp là gì?Một biến lớp là một biến có phạm vi cho toàn bộ lớp. Trong khoa học máy tính, phạm vi của biến là vùng hoặc không gian tên trong đó liên kết biến hợp lệ. Vì vậy, điều đó có nghĩa là tất cả các phương thức trong một lớp sẽ có thể sử dụng các biến lớp. Hãy xem nó hoạt động bằng cách viết lại hoặc lớp Dog từ trước đó
Trên đây là một ví dụ về một biến lớp gọi là chân. Nói chung, một biến lớp sẽ là thứ không thay đổi thường xuyên. Thuộc tính đặc biệt của đối tượng lớp là việc thay đổi nó sẽ ảnh hưởng đến mọi phiên bản của lớp đó được tạo. Đây là con dao hai lưỡi, vì một mặt nó có thể thuận tiện vì nó sẽ thay đổi tất cả các đối tượng đã được tạo. Mặt khác, nó có thể phá vỡ một số logic kinh doanh dựa trên biến đó không bao giờ thay đổi. Hãy nhảy vào một số mã Chúng tôi đã tạo hai phiên bản của lớp Dog. một được gọi là poodle và Labrador khác
Sau đó chúng tôi gọi biến lớp. Tuy nhiên, nếu con chó xù bằng một phép màu nào đó mọc thêm một chân thì sao?
Uh-oh. Bạn có thể nhận ra những gì đã xảy ra? . Vì vậy, để lái nó về nhà, điều thực sự quan trọng là không thay đổi biến lớp trừ khi bạn muốn thay đổi nó cho mọi đối tượng được khởi tạo Như đã nói, đây là cách nó sẽ được thay đổi chỉ dành cho chó xù
Trong ví dụ này, chúng tôi đã thay đổi số lượng chân trên đối tượng riêng lẻ được gọi là poodle Như bạn có thể thấy, nó không ảnh hưởng đến chó Labrador. Tuy nhiên, điều quan trọng cần lưu ý là việc thay đổi nó trên poodle không thực sự thay đổi chính biến lớp đó. Cuộc gọi cuối cùng là trên chính biến lớp Nói cách khác, mỗi đối tượng có một thể hiện của biến lớp. Hy vọng rằng bạn thấy chúng ta đang đi đến đâu với điều này, vì vậy hãy tìm hiểu sâu hơn về các biến thể hiện Biến thể hiện là gì?Một biến thể hiện là một biến chỉ nằm trong phạm vi khởi tạo cụ thể của một lớp. Đây là một số mã để minh họa một biến thể hiện
Trong phiên bản cải tiến của lớp Dog, chúng tôi đã tạo một trình khởi tạo với ba biến thể hiện. Một trình khởi tạo có thể được sử dụng để thực hiện tiền xử lý trên một lớp mới được khởi tạo, cũng như điền vào các biến thể hiện như vậy ________số 8_______ Có rất nhiều thứ đang diễn ra trong đoạn mã này, vì vậy hãy chia nhỏ nó ra một chút. Chúng tôi đã tạo hai đối tượng Dog. chó1 và chó2. Chúng tôi đã gọi hai biến thể hiện của chúng, biến này cung cấp cho chúng tôi thông tin mà chúng tôi đã cung cấp trước đó Sau đó, chúng tôi gọi Chó. chân, tự nhiên cung cấp số bốn. Tuy nhiên, lưu ý rằng Chó. giống đã ném một lỗi. Đó là vì biến giống chỉ có sẵn dưới dạng biến thể hiện. Nó không được chia sẻ trên toàn bộ lớp học Đây là một cách tốt để tổng hợp các mối quan hệ. một biến lớp được chia sẻ bởi tất cả các đối tượng được tạo. Một thể hiện của biến lớp luôn được tạo trên mỗi đối tượng mới được tạo; . Cuối cùng, một biến thể hiện chỉ có thể truy cập được đối với đối tượng mà nó được xác định trong Cách ngăn chặn đột biến biến lớpCảnh báo. Đoạn mã sau sẽ chỉ hoạt động trong Python 3. x Trong khoa học máy tính, việc thay đổi các biến được gọi là đột biến. Nếu một đối tượng hoặc biến không thể thay đổi, nó được gọi là bất biến. Thông thường, bạn không muốn mọi người truy cập mã của mình và thay đổi các biến lớp. Khi mã ngày càng phức tạp hơn, việc thay đổi thứ gì đó với phạm vi rộng như vậy có thể gây ra nhiều hậu quả khác nhau. May mắn thay, Python có cách khắc phục điều đó. Nó cao hơn một chút về mặt nâng cao, nhưng nó đáng để xem qua Đầu tiên, tạo một lớp với một biến lớp mà bạn không bao giờ muốn bất kỳ ai thay đổi. Hãy đối mặt với nó. bản chất của một con chó là có bốn chân, vì vậy chúng tôi sẽ biến điều này thành một đặc điểm bất biến trong mã của chúng tôi. Đây là một ví dụ
Không có gì quá đặc biệt về lớp Chó, ngoại trừ một vài điều. Điều đầu tiên là metaclass=CantChangeClassVariable. Siêu lớp là một cách mô tả cách lớp nên hoạt động trong một số tình huống nhất định. Trong trường hợp này, tôi đã viết một lớp đơn giản gọi là CantChangeVariable. Bất cứ khi nào một biến lớp được thay đổi, hãy tăng Lỗi Giá trị. Đây là cách nó trông trong hành động 0Và bây giờ là kết quả tiếp theo 1Như bạn có thể thấy, nó đã tạo ra một ValueError khi cố gắng thay đổi biến lớp. Mặt khác, thay đổi biến thể hiện là tốt Suy nghĩ cuối cùngHiểu sự khác biệt giữa biến lớp và biến thể hiện là điều cơ bản. Mặc dù ban đầu có vẻ phức tạp, nhưng bạn càng làm việc với dữ liệu nhiều thì bạn sẽ càng thấy rõ khi nào nên sử dụng biến nào. Chúc may mắn với hành trình Python của bạn Các biến lớp là gì?Trong lập trình hướng đối tượng, dựa trên lớp, một biến lớp là một biến được định nghĩa trong một lớp mà một bản sao tồn tại, bất kể có bao nhiêu phiên bản của lớp đó. . Một biến lớp không phải là một biến thể hiện. Nó là một loại thuộc tính lớp đặc biệt (hoặc thuộc tính lớp, trường hoặc thành viên dữ liệu). . A class variable is not an instance variable. It is a special type of class attribute (or class property, field, or data member).
Các biến lớp được định nghĩa Python ở đâu?Các biến lớp được định nghĩa trong cấu trúc lớp . Bởi vì chúng được sở hữu bởi chính lớp, các biến lớp được chia sẻ bởi tất cả các phiên bản của lớp. Do đó, chúng thường sẽ có cùng giá trị cho mọi phiên bản trừ khi bạn đang sử dụng biến lớp để khởi tạo một biến.
Biến lớp và biến thể hiện trong Python là gì?Sự khác biệt giữa Biến thể hiện và Biến lớp Các loại biến trong lớp trong Python là gì?Một lớp Python có thể có hai loại biến. Biến thể hiện và biến lớp . |