_init_ và self trong Python là gì?
Chúng tôi có một đối tượng 5 tại thời điểm này, nhưng đối tượng 5 này thực sự không có ý nghĩa gì vì nó không có chức năng (nó không lưu trữ bất kỳ dữ liệu hữu ích nào hoặc có bất kỳ phương thức nào) Show
Chúng tôi có thể thêm thuộc tính vào đối tượng 5 theo cách thủ công để lưu trữ một số dữ liệu về chúngNhưng làm như vậy sẽ là một chút ngớ ngẩn Sẽ tốt hơn nếu bằng cách nào đó chúng ta có thể gọi lớp này với các đối số để tự động lưu trữ các thuộc tính Phương thức khởi tạoHiện tại, nếu chúng ta cố gắng gọi lớp này bằng các đối số, chúng ta sẽ gặp lỗi
Để chấp nhận các đối số, chúng ta cần định nghĩa một phương thức 8 trong lớp của mình
Đối số đầu tiên trong phương thức 8 của chúng ta sẽ luôn là 3 (giống như hầu hết mọi phương thức khác). Sau đó, chúng ta cần khai báo bất kỳ đối số nào mà chúng ta muốn lớp của mình chấp nhậnĐiều chính mà bạn sẽ luôn thấy trong phương pháp 8, là gán cho các thuộc tínhĐây là lớp 5 mới của chúng tôi
Nếu chúng ta gọi nó như trước đây mà không có bất kỳ đối số nào, chúng ta sẽ thấy lỗi vì lớp này hiện yêu cầu hai đối số, 6 và 7
Chúng ta cần cung cấp cho lớp 5 của mình hai đối số để có được một thể hiện mới của lớp nàyĐối tượng 5 này hiện có thuộc tính 6 và thuộc tính 7Điều đó có nghĩa là phương pháp 8 của chúng tôi được gọi làPython gọi >>> p = Point() >>> p 8 bất cứ khi nào một lớp được gọiBất cứ khi nào bạn gọi một lớp, Python sẽ xây dựng một thể hiện mới của lớp đó, sau đó gọi phương thức 8 của lớp đó, chuyển thể hiện mới được tạo làm đối số đầu tiên ( 3)Không giống như nhiều ngôn ngữ lập trình, 8 không được gọi là "phương thức xây dựng"Phương thức 8 của Python được gọi là phương thức khởi tạo. Phương thức khởi tạo khởi tạo thể hiện lớp mới của chúng ta. Vì vậy, tại thời điểm mà phương thức khởi tạo được gọi là thể hiện của lớp đã được xây dựngTóm lượcKhi bạn tạo một lớp mới trong Python, phương thức đầu tiên bạn có thể tạo là phương thức 8. Phương thức 8 cho phép bạn chấp nhận các đối số cho lớp của mìnhQuan trọng hơn, phương thức 8 cho phép bạn gán các giá trị ban đầu cho các thuộc tính khác nhau trên các cá thể lớp của bạn Ngày nay, một lập trình viên chắc chắn sẽ bắt gặp lập trình hướng đối tượng (OOP) trong sự nghiệp của họ. Là một ngôn ngữ lập trình hiện đại, Python cung cấp tất cả các phương tiện để thực hiện triết lý hướng đối tượng. Phương thức 02 là cốt lõi của OOP và được yêu cầu để tạo các đối tượng
02. Lập trình hướng đối tượng là gì?Lập trình hướng đối tượng (OOP) là một mẫu lập trình bao gồm việc xác định các đối tượng và tương tác với chúng. Một đối tượng là một tập hợp các biến và hàm phức tạp và có thể được sử dụng để biểu diễn các thực thể thực như nút, máy bay hoặc người Để khai báo, khởi tạo và thao tác với các đối tượng trong Python, chúng ta sử dụng các lớp. Chúng đóng vai trò là mẫu mà từ đó các đối tượng được tạo ra. Sơ đồ sau đây minh họa ý tưởng này Chúng ta có thể thấy trong sơ đồ trên rằng lớp chó chứa các đặc điểm cụ thể của chó, chẳng hạn như giống và màu mắt, cũng như khả năng chạy và đi bộ. Hãy bắt đầu bằng cách định nghĩa một lớp trong Python Lớp học là gì?Một lớp định nghĩa và cấu trúc tất cả các đối tượng được tạo từ nó. Bạn có thể xem lớp như một nhà máy sản xuất đối tượng. Hãy lấy ví dụ về chó săn cáo—một giống chó. Từ quan điểm OOP, bạn có thể coi 04 là một lớp bao gồm các đặc điểm của một con chó như giống hoặc màu mắt của nó. Vì Fox Terrier là một con chó, chúng ta có thể tạo một đối tượng dog sẽ kế thừa các đặc điểm của lớp của nó. Các lớp sử dụng các phương thức và hàm tạo để tạo và định nghĩa các đối tượngPhương pháp đặc biệt và do người dùng xác địnhPhương thức là các chức năng trong một lớp được thiết kế để thực hiện một nhiệm vụ cụ thể. Python phân biệt giữa các phương thức do người dùng định nghĩa, được viết bởi lập trình viên và các phương thức đặc biệt được tích hợp sẵn trong ngôn ngữ. Phương thức do người dùng định nghĩa là một hàm do lập trình viên tạo ra để phục vụ một mục đích cụ thể. Chẳng hạn, một lớp 04 có thể có một phương thức 06 mà đối tượng con chó có thể sử dụng. Lập trình viên tạo phương thức này và yêu cầu nó thực hiện các hành động cụ thểCác phương thức đặc biệt được xác định bằng dấu gạch dưới kép ở hai bên tên của chúng, chẳng hạn như 02. Python sử dụng các phương thức đặc biệt để nâng cao chức năng của các lớp. Hầu hết chúng hoạt động ở chế độ nền và được gọi tự động khi chương trình cần. Bạn không thể gọi họ một cách rõ ràng. Chẳng hạn, khi bạn tạo một đối tượng mới, Python sẽ tự động gọi phương thức 08, phương thức này sẽ gọi phương thức 02. Phương thức 80 được gọi khi bạn 81 một đối tượng. Mặt khác, các phương thức do người dùng định nghĩa, như 82, được gọi rõ ràngNgười xây dựngHàm tạo là một phương thức đặc biệt mà chương trình gọi khi tạo đối tượng. Hàm tạo được sử dụng trong lớp để khởi tạo các thành viên dữ liệu cho đối tượng. Với ví dụ lớp 04 của chúng tôi, bạn có thể sử dụng hàm tạo để gán các đặc điểm của con chó cho từng đối tượng 84. Phương thức đặc biệt 02 là hàm tạo của PythonVới sự hiểu biết về lập trình hướng đối tượng và các lớp, bây giờ chúng ta hãy xem cách thức hoạt động của phương thức 02 trong chương trình PythonTầm quan trọng của các đối tượng trong PythonKhông phải lúc nào chúng ta cũng thấy nó khi viết chương trình, nhưng các đối tượng là trung tâm trong cách thức hoạt động của Python. Khi chúng ta khai báo một biến đơn giản trong Python, một đối tượng sẽ được tạo trong nền. 5
Phương pháp __init__ hoạt động như thế nào?Phương thức 02 tương đương với Python của hàm tạo C++ theo cách tiếp cận hướng đối tượng. Hàm 02 được gọi mỗi khi một đối tượng được tạo từ một lớp. Phương thức 02 cho phép lớp khởi tạo các thuộc tính của đối tượng và không phục vụ mục đích nào khác. Nó chỉ được sử dụng trong các lớp học. Tạo một lớp họcHãy bắt đầu bằng cách tạo một lớp 0Đầu tiên, chúng ta khai báo lớp Dog sử dụng từ khóa 00. Chúng tôi sử dụng từ khóa 01 để định nghĩa một hàm hoặc phương thức, chẳng hạn như phương thức 02. Như bạn có thể thấy, phương thức 02 khởi tạo hai thuộc tính. 04 và 05. Bây giờ chúng ta sẽ xem cách truyền các tham số này khi khai báo một đối tượng. Đây là nơi chúng ta cần từ khóa self để liên kết các thuộc tính của đối tượng với các đối số nhận được Tạo một đối tượngTiếp theo, chúng ta sẽ tạo một đối tượng hoặc thể hiện của lớp 06 8Khi chúng ta tạo đối tượng 07 (là tên của con chó), trước tiên chúng ta xác định lớp mà nó được tạo ra (Dog). Tiếp theo, chúng ta chuyển các đối số “Fox Terrier” và “brown”, tương ứng với các tham số tương ứng của phương thức 02 của lớp 06Phương thức 02 sử dụng từ khóa 21 để gán các giá trị được truyền dưới dạng đối số cho các thuộc tính đối tượng 22 và 23Truy cập thuộc tính đối tượngĐể truy cập một thuộc tính của đối tượng Fox Terrier hoàn toàn mới của bạn, bạn có thể sử dụng dấu chấm (. ) để nhận giá trị bạn cần. Một tuyên bố in giúp chúng tôi chứng minh cách thức hoạt động của nó 0Thực thi đoạn mã trên cho chúng ta kết quả như sau 2Chương trình đã truy cập các thuộc tính của 24 và hiển thị chúng đúng cáchTrình tạo __init__ mặc địnhTrong Python, hàm tạo không nhất thiết phải truyền tham số cho nó. Có thể có các tham số mặc định. Hàm tạo không có tham số bắt buộc được gọi là hàm tạo mặc định. Hãy viết lại lớp của chúng ta với một hàm tạo mặc định 8Nếu người dùng không nhập bất kỳ giá trị nào, hàm tạo sẽ gán “German Shepherd” và “Brown” làm thuộc tính Bây giờ chúng ta có thể tạo một thể hiện của Dog mà không cần chỉ định bất kỳ tham số nào. 9Vì không có đối số để truyền, nên chúng tôi sử dụng dấu ngoặc đơn trống sau tên lớp. Chúng ta vẫn có thể hiển thị các thuộc tính của đối tượng 0Điều này mang lại cho chúng tôi đầu ra sau 1Mã đơn giản này hoạt động hoàn hảo Học cách viết mã với UdacityPhương thức 02 là tối quan trọng đối với lập trình hướng đối tượng của Python. Trong bài viết này, chúng tôi đã giải thích vai trò của phương thức 02 trong ngữ cảnh của OOP và định nghĩa lớp. Phương thức 02 là một trong nhiều phương thức đặc biệt được tích hợp trong Python và các lập trình viên có thể sử dụng nó có hoặc không có tham số cho mỗi lớp mà họ tạo
__ tự __ trong python là gì?Tham số self là tham chiếu đến phiên bản hiện tại của lớp và được sử dụng để truy cập các biến thuộc về lớp.
_init_ nghĩa là gì trong một lớp học?_init_ là hàm tạo cho một lớp . Tham số self đề cập đến thể hiện của đối tượng. Ý tưởng cơ bản là nó là một phương thức đặc biệt được gọi tự động khi một đối tượng của Lớp đó được tạo.
Mục đích của DEF __ init __( tự chức năng trong python là gì?__init__. "__init__" là một phương thức được đặt lại trong các lớp python. Nó được biết đến như một hàm tạo trong các khái niệm hướng đối tượng. Phương thức này được gọi khi một đối tượng được tạo từ lớp và nó cho phép lớp khởi tạo các thuộc tính của lớp .
__ init __ được gọi là gì?__init__ phương thức
. Phương thức này được gọi khi một đối tượng được tạo từ một lớp và nó cho phép lớp khởi tạo các thuộc tính của lớp. a constructor in object oriented terminology. This method is called when an object is created from a class and it allows the class to initialize the attributes of the class. |