Sunday, February 9, 2020

Python và OOP

Bài viết sau đây mình dịch từ Datacamp

Đoạn đầu của bài viết có nhấn mạnh...

Giải quyết OOP cơ bản trong Python: Khám phá classes, objects, instance methods, attributes và nhiều thêm nữa.

Nếu đã học qua OOP hay Java bạn sẽ thấy rằng

OOP là một khái niệm được sử dụng rộng rãi để viết các ứng dụng khủng. Và nếu là nhà khoa học về dữ liệu, bạn sẽ BỊ yêu cầu viết các ứng dụng để xử lý dữ liệu, ngoài một vài thứ khác.

Trong bài viết này, bạn sẽ tìm hiểu OOP cơ bản trong Python theo các mục dưới đây:
  • Cách tạo một lớp (a class) lớp học? không phải các bạn tìm hiểu thêm nha.
  • Tạo các đối tượng (Instantiating objects)
  • Thêm thuộc tính vào một lớp (class)
  • Định nghĩa phương pháp trong một lớp (Defining methods within a class)
  • Chuyển một arguments vào các phương pháp - từ arguments mình chưa tìm từ dịch cho sát nghĩa
  • OOP sử dụng thế nào trong ngành tài chính (How OOP can be used in Python for finance)
Giới thiệu OOP trong Python

OOP: Giới thiệu

OOP có vài lời thế so với các chương trình khác xét về mặt "design patters" tạm hiểu là mẫu thiết kế, việc phát triển theo OOP rẻ và nhanh hơn với khả năng bảo trì tốt hơn.

Dẫn tới chất lượng phần mềm tốt, mở rộng được với các phương pháp và thuộc tính mới.

Việc làm quen tuy nhiên GẮT hơn.

Các khái niệm có thể quá phức tạp cho người mới.

Một cách máy tính học, phần mềm OOP chạy chậm và sử dụng nhiều bộ nhớ hơn vì có nhiều dòng lệnh phải viết.

OOP dựa trên một hình mẫu lập trình mệnh lệnh, sử dụng những câu lệnh để thay đổi trạng thái của một chương trình. Nó tập trung vào việc mô tả cách một chương trình sẽ hoạt động thế nào. Ví dụ về lập trình mệnh lệnh là C, C++, Java, Go, Ruby và Phython.

Lập trình khai báo ngược lại, tập trung vào chương trình máy tính có thể đạt được gì, mà không chỉ ra cách làm.

Ví dụ các ngôn ngữ lập trình truy vấn dữ liệu như SQL, XQuery chỉ nói cho máy tính biết truy vấn dữ liệu từ đầu mà không chỉ ra cách thực hiện truy vấn dữ liệu thế nào.

OOP sử dụng các khái niệm của đối tượng (objects) và các lớp (classes). Một class có thể xem là “bản thiết kế” (blueprints) cho các đối tượng. Các đối tượng có thuộc tính riêng, đặc tính và phương pháp là cách hành đồng mà đối tượng có thể thực hiện.

Ví dụ: Một con mèo - thuộc tính là màu sắc, cân nặng chẳng hạn màu vàng, nặng 5kg, mèo có thể kêu meo meo, bắt chuột thì đây là phương pháp (methods).

Ví dụ OOP 


Một ví dụ khá phổ biến khi giới thiệu OOP đó là đem một chú chó để tượng trưng cho một class, đây không phải là một chú chó cụ thể, hay cún cưng của bạn.

Ở đây nói chung chúng ta mô tả chú chó có thể làm gì. Thường mỗi chú chó sẽ có một cái tên và tuổi, đây gọi là thuộc tính của đối tượng, tất nhiên chó có thể sủa (gâu gâu) đây trong OOP gọi là một phương pháp (method)

Khi chúng ta nói tới một chú chó cụ thể - có tên, tuổi thì đó là một đối tượng trong OOP, một đối tượng là một sản phẩm của class và cùng một class có thể tạo ra rất nhiều đối tượng (phiên bản) Đây là nguyên tắc cơ bản của OOP. Ví dụ, bạn có một chú chó là Milu, thuộc vào class “C hó” thì thuộc tính của chú chó này name = 'Ozzy' và age = '2', anh hàng xóm có chú chó khác thì sẽ có các thuộc tính khác, chẳng hạn anh này có chú chó tên là Zoda, tuổi 3.5.

OOP trong Python

Python là ngôn ngữ lập trình hỗ trợ OOP, bạn sẽ dùng python để định nghĩa một class với các thuộc tính và phương pháp, như mèo khoang (thuộc tính) kêu meo meo (methods) dùng để gọi ra sau này, ví dụ gọi đúng phương pháp mèo sẽ kêu meo meo.

So sánh với Java, C++ hay R thì Python có khá nhiều lợi ích. Đó là một ngôn ngữ năng động, với kiểu dữ liệu mức độ cao. Điều này có nghĩa là, việc phát triển sẽ làm nhanh hơn so với Java hay C++, và không yêu cầu người viết chương trình khai báo các kiểu biến, mệnh lênh. Điều này cũng làm cho Python dể hiểu hơn và đẽ học hơn cho người mới, đọc code mang tính định hướng và dễ thạo hơn.

Sau đây là các tạo một class.

No comments:

Post a Comment

Bạn cần thêm thông tin hay có câu hỏi vui lòng comment