Biến tự so với biến Python
Người đọc nên có kiến thức trước về lớp, đối tượng và cấp phát bộ nhớ cho đối tượng. Bấm vào đây Show Tóm tắt nhanh các khái niệm về lớp và đối tượng Trong lớp học cuối cùng của chúng tôi, chúng tôi đã lấy một ví dụ google để hiểu lớp và đối tượng Trong lớp google, chúng tôi đã có một biến đầu vào. Và một phương pháp tìm kiếm Bất cứ khi nào chúng ta tạo một đối tượng, một bộ nhớ riêng sẽ được phân bổ cho từng đối tượng Thí dụ x=google(“Ấn Độ”) chúng ta đã tạo một đối tượng của lớp google, và chuỗi đầu vào là Ấn Độ Một bộ nhớ riêng được cấp phát cho đối tượng x. Giả sử bộ nhớ được phân bổ tại vị trí 50 Trong bộ nhớ được phân bổ, đầu vào được lưu trữ. Trong ví dụ của chúng tôi, Ấn Độ được lưu trữ Lấy thêm một đối tượng, y= google(“japan”). đối tượng y được gán một bộ nhớ mới và nhật bản đầu vào được lưu trữ trong bộ nhớ Sự hiểu biết cơ bản về một đối tượng này được thảo luận trong các lớp trước của chúng ta Thêm một định nghĩa cho đối tượng. Đối tượng là một thể hiện của một lớp Bất cứ khi nào một đối tượng được xác định, một thể hiện riêng biệt sẽ được tạo. Tôi. e. , một bộ nhớ riêng biệt được tạo ra Biến thể hiệnCác biến được lưu trữ trong bộ nhớ được cấp phát cho đối tượng được gọi là biến thể hiện Trong ví dụ trên của chúng tôi, chuỗi đầu vào là một biến thể hiện Lấy một mẫu và hiểu cách xác định hàm tạo và biến thể hiện
Trong chương trình trên, chúng ta có một lớp gọi là test Trong lớp đó, chúng tôi có phương thức __init__. Và trong phương thức chúng ta có tham số self và tham số k Chúng ta sẽ thảo luận về tham số self sau trong phần này Chúng tôi có hai phương thức khác có tên là f và f1 Bất cứ khi nào chúng ta tạo một đối tượng. Trình thông dịch Python sẽ tự động gọi phương thức init Thí dụ x=Test(40) chúng tôi đã định nghĩa một đối tượng Bất cứ khi nào chúng ta định nghĩa một đối tượng, một bộ nhớ riêng sẽ được cấp phát. Giả sử bộ nhớ được gán ở vị trí 50 Sơ đồ bộ nhớ được hiển thị bên dưới bản thânSau khi xác định đối tượng, bộ nhớ riêng biệt được cấp phát và phương thức init gọi mặc định của python Phương thức init trong ví dụ trên có một biến self. Biến self được gán tham chiếu của đối tượng Trong ví dụ của chúng tôi, biến tự tham chiếu đến vị trí bộ nhớ 50. Việc phân bổ này được thực hiện tự động bởi trình thông dịch python Biến đầu tiên trong phương thức init là self. Nếu chúng ta muốn định nghĩa một tham số khác, chúng ta định nghĩa nó sau tham số self Đối với bất kỳ phương thức nào trong lớp Python, biến đầu tiên phải là self Theo mặc định, Python gán tham chiếu đối tượng cho biến self Trong ví dụ của chúng tôi, khi chúng tôi xác định đối tượng. Chúng tôi sử dụng giá trị 40 Giá trị 40 được gán cho tham số k. Không phải bản thân. Tham số đầu tiên, self, là một tham chiếu đối tượng Hàm tạoPhương thức init được định nghĩa trong lớp được gọi là phương thức khởi tạo Theo mặc định, Python gọi phương thức khởi tạo khi một đối tượng được tạo Trong phần thân của phương thức khởi tạo, chúng ta đã định nghĩa self. instvar=k bản thân. instvar nói rằng hãy tạo một biến instvar trong bộ nhớ đối tượng Trong đối tượng x, chúng ta có một biến instvar, và biến này đang tham chiếu đến giá trị 40 Các biến hiện diện trong đối tượng chúng ta gọi chúng là biến thể hiện Trong ví dụ của chúng tôi, instvar là một biến thể hiện Biến k trong phương thức init là biến cục bộ. Chúng ta có thể sử dụng biến k trong phương thức Khái niệm biến cục bộ và biến toàn cục đã được thảo luận trước đây. Bấm vào đây Ghi chú. Biến instvar là biến toàn cục cho lớp này. Bất kỳ phương thức nào trong lớp đều có thể sử dụng biến instvar Các biến thể hiện có thể được sử dụng bởi bất kỳ phương thức nào trong lớp Trong chương trình trên, một đối tượng nữa được tạo. y=Kiểm tra(80) Một bộ nhớ mới được gán cho đối tượng mới này. Và biến instvar được cho giá trị 80 Giả sử bộ nhớ được phân bổ cho đối tượng y là vị trí 80 Bất cứ khi nào chúng ta gọi x. f(). chúng tôi đang gọi phương thức f sử dụng đối tượng x Đối tượng x đang tham chiếu vị trí bộ nhớ 50. vì vậy biến tự được gán vị trí bộ nhớ 50 Phương thức f đang tự hiển thị. instvar. Bản thân đang trỏ đến bộ nhớ 50. vì vậy trong Bộ nhớ 50, biến instvar có giá trị là 40 Đầu ra hiển thị là 40 Điểm để hiểu Mỗi đối tượng có các biến thể hiện riêng của nó Lấy thêm một ví dụ để hiểu rõ hơn về khái niệm
Trong chương trình trên, chúng ta không có phương thức khởi tạo Chúng tôi có phương pháp f và f1 Trong phương thức f, chúng tôi đang tạo một biến thể hiện và được gán giá trị 20 Điểm để hiểu Chúng ta có thể định nghĩa các biến thể hiện không chỉ trong hàm tạo mà trong bất kỳ phương thức nào Lý do để xác định các biến thể hiện trong phương thức khởi tạo? Phương thức khởi tạo được gọi theo mặc định trong quá trình tạo đối tượng. Các phương thức còn lại không được gọi theo mặc định Biến tự trong Python là gì?Biến self được dùng để biểu diễn thể hiện của lớp thường được dùng trong lập trình hướng đối tượng. Nó hoạt động như một tham chiếu đến đối tượng. Python sử dụng tham số self để chỉ các thuộc tính và phương thức thể hiện của lớp.
Khi nào tôi nên sử dụng self trong Python?Vì vậy, SELF nên được sử dụng khi bạn xác định một phương thức cá thể, vì nó được truyền tự động làm tham số đầu tiên khi phương thức được gọi. Bạn cũng nên sử dụng self trong Python khi tham chiếu một thuộc tính lớp từ bên trong một phương thức thể hiện
Sự khác biệt giữa bản thân và đối tượng trong Python là gì?Sự khác biệt là trong một trường hợp, bạn gọi biến chứa thể hiện self và trong trường hợp khác, bạn gọi nó là đối tượng . Đó là sự khác biệt duy nhất. Biến self rõ ràng trong Python và bạn có thể gọi nó là bất cứ thứ gì bạn muốn. self chỉ là quy ước mà mọi người sử dụng để dễ đọc.
Sự khác biệt giữa bản thân và bản thân trong Python là gì?Không có sự khác biệt giữa (self) và (self,) . Ưu điểm chính là nó làm cho danh sách nhiều dòng dễ chỉnh sửa hơn và giảm sự lộn xộn trong các khác biệt. Kiểm tra liên kết này. - Tại sao danh sách được phép sử dụng dấu phẩy ở cuối? |