Hướng dẫn python class __init__ best practices - lớp python __init__ thực hành tốt nhất
Show
Viết mã python có thể đọc và duy trìẢnh của Fab Lentz trên unplashNền tảng thiết yếu của Python như một ngôn ngữ lập trình hướng đối tượng là định nghĩa của các lớp liên quan để quản lý và xử lý dữ liệu trong các chương trình của bạn. Khi chúng tôi tạo các lớp của mình, phương pháp đầu tiên mà chúng tôi xác định là phương thức khởi tạo: 1. Đặt nó ở trên cùngNghe có vẻ rõ ràng với hầu hết chúng ta, nhưng tôi đã thấy mọi người ẩn giấu nó sâu trong cơ thể của lớp, cùng với các thuộc tính khác. Nó rất quan trọng để đặt nó ở đầu lớp, trước bất kỳ phương pháp nào khác. Đây là nơi người đọc nên tìm phương pháp Nếu bạn có thuộc tính lớp, bạn nên đặt phương thức 2. Đặt tên cho tham số đầu tiên là bản thânTrước hết, bạn nên hiểu tham số đầu tiên có nghĩa là gì. Tham số đầu tiên đề cập đến đối tượng phiên bản gọi phương thức Như một quy ước, nó rất quan trọng để bạn đặt tên cho tham số đầu tiên là bản thân, mặc dù nó không bắt buộc phải làm như vậy. Như một lưu ý phụ, class Student: 0 không phải là một từ khóa trong Python, không giống như nhiều ngôn ngữ khác có thể sử dụng class Student: 1, class Student: 0 hoặc class Student: 3 đóng vai trò là từ khóa dành riêng để chỉ đối tượng phiên bản gọi hiện tại.3. Đặt tất cả các thuộc tính thể hiệnPython không hạn chế nơi bạn xác định các thuộc tính thể hiện trong lớp của bạn. Tuy nhiên, điều đó không có nghĩa là bạn có thể truyền bá các thuộc tính thể hiện ở mọi nơi trong lớp của bạn. Xem xét ví dụ sau: Xác định các thuộc tính thể hiệnNhư được hiển thị ở trên, chúng ta có thể tạo một thể hiện class Student: 4 bằng cách khởi tạo tên của họ. Sau đó, chúng tôi có thể gọi class Student: 5 để có được trạng thái đăng ký và class Student: 6 để có được thông tin người bảo vệ sinh viên. Tuy nhiên, mô hình triển khai này không phải là mong muốn, bởi vì khi bạn truyền bá các thuộc tính thể hiện ở khắp mọi nơi, độc giả của mã của bạn đã giành được chắc chắn về những thuộc tính mà một thể hiện có. Thay vào đó, thực tiễn tốt nhất là đặt tất cả các thuộc tính thể hiện trong __init__ sao cho người đọc có thể biết những thể hiện thuộc tính nào có sự chắc chắn. Việc thực hiện sau đây áp dụng mẫu mong muốn:Một nơi duy nhất thuộc tính4. Tránh sử dụng ** kwargsTrong Python, class Student: 8 được sử dụng để chỉ ra số lượng tham số từ khóa khác nhau trong các định nghĩa chức năng. Do đó, nó chính xác về mặt cú pháp để bao gồm class Student: 8 trong phương pháp __init__ . Mặc dù phải có một số trường hợp nhất định sử dụng class Student: 8 trong __init__ là hợp lệ, nhưng trong hầu hết các trường hợp, bạn không muốn sử dụng nó vì nó che giấu các tham số cần thiết để khởi tạo các trường hợp.Tôi đoán rằng một lời biện minh chính cho việc sử dụng class Student: 8 của một số người là làm cho phương pháp __init__ trông sạch sẽ. Tuy nhiên, tôi tin rằng rõ ràng luôn tốt hơn tiềm ẩn. Mặc dù việc liệt kê tất cả các tham số trong đầu phương thức __init__ có thể trông rườm rà, nhưng chúng tôi đã rõ ràng về những tham số mà người dùng cần chỉ định khi chúng tạo đối tượng thể hiện.5. Đặt các giá trị mặc định thích hợpNếu bạn biết những giá trị ban đầu sẽ được đặt thành một số thuộc tính nhất định, bạn có thể chỉ định chúng trong đầu class Student: Tuy nhiên, cần lưu ý rằng khi tham số là cấu trúc dữ liệu có thể thay đổi, bạn sẽ làm một cái gì đó khác biệt. Điều sau đây là sai: class Student: Vấn đề là khi bạn đặt >>> student0 = Student("John") 7 làm giá trị mặc định, đối tượng danh sách này được tạo ở định nghĩa hàm và sẽ được chia sẻ bởi tất cả các trường hợp. Mã sau đây cho bạn thấy vấn đề:shared by all instances. The following code shows you the problem:>>> student0 = Student("John") 6. DocstringsCũng giống như các phương pháp công khai khác, bạn nên có các tài liệu thích hợp cho phương pháp Đối với mỗi tham số, bạn muốn chỉ định loại tham số - cho dù đó là một Sự kết luậnĐây là danh sách các thực tiễn tốt nhất mà tôi đã theo dõi để xác định phương pháp Cảm ơn vì đã đọc. __ init __ có cần thiết trong Python không?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 pháp __init__ là cốt lõi của OOP và được yêu cầu để tạo các đối tượng.The __init__ method is at the core of OOP and is required to create objects.
Tại sao __ init __ quan trọng?__init__ là một trong những phương pháp dành riêng trong Python.Trong lập trình định hướng đối tượng, nó được gọi là một hàm tạo.Phương thức __init__ có thể được gọi khi một đối tượng được tạo từ lớp và cần truy cập để khởi tạo các thuộc tính của lớp.access is required to initialize the attributes of the class.
Cú pháp chính xác cho __ init __ là gì?Chất cấu trúc mặc định __init__ Cú pháp để xác định hàm tạo __init__ mặc định như sau: class_name (): def __init __ (self): # Câu lệnh Constructor # Các phương thức lớp khácclass class_name(): def __init__(self): # Constructor statements # other class methods … …
Thực hành tốt nhất để khởi tạo là gì?6 Thực tiễn tốt nhất để xác định phương pháp khởi tạo trong Python.Viết mã python có thể đọc và duy trì..... Đặt nó ở đầu..... Đặt tên cho tham số đầu tiên là bản thân..... Đặt tất cả các thuộc tính thể hiện..... Tránh sử dụng ** kwargs..... Đặt các giá trị mặc định thích hợp..... Docstrings.. |