Thứ Tư, 8 tháng 5, 2024

1. Tổng quan về Python

Trước hết cần nhắc lại về lập trình hướng đối tượng OOP

Lập trình hướng đối tượng (OOP) là gì? 

OOP (viết tắt của Object Oriented Programming) – lập trình hướng đối tượng là một phương pháp lập trình dựa trên khái niệm về lớp và đối tượng. OOP tập trung vào các đối tượng thao tác hơn là logic để thao tác chúng.


Đối tượng (Object) và Lớp (Class) trong OOP

  • Đối tượng (Object)

Đối tượng trong OOP bao gồm 2 thành phần chính:

Thuộc tính (Attribute): là những thông tin, đặc điểm của đối tượng. Ví dụ: con người có các đặc tính như mắt, mũi, tay, chân…
Phương thức (Method): là những thao tác, hành động mà đối tượng đó có thể thực hiện. Ví dụ: một người sẽ có thể thực hiện hành động nói, đi, ăn, uống, . . .

  • Lớp (Class)

Một lớp là một kiểu dữ liệu bao gồm các thuộc tính và các phương thức được định nghĩa từ trước. Đây là sự trừu tượng hóa của đối tượng. Khác với kiểu dữ liệu thông thường, một lớp là một đơn vị (trừu tượng) bao gồm sự kết hợp giữa các phương thức và các thuộc tính. Hiểu nôm na hơn là các đối tượng có các đặc tính tương tự nhau được gom lại thành một lớp đối tượng. Lớp cũng sẽ bao gồm 2 thông tin là thuộc tínhphương thức.

 

Chúng ta cũng cần nhắc lại về hai khái niệm luôn dễ nhầm lẫn đó trình biên dịch (Compiler), trình thông dịch (Interpreter). Khi chú tâm vào hai chữ "Biên", "Phiên" chúng ta sẽ rất dễ lẫn lộn, cho nên chúng ta sẽ dùng nguyên bản là Compiler và Interpreter cho dễ. 

Phân biệt Compiler và Interpreter sẽ tương tự như trong cuộc sống hàng ngày: Ví dụ, trong một cuộc họp của Liên Hợp Quốc, trên bục một người nào đó phát biểu thì bên dưới mỗi người đại diện của các quốc gia khác nhau sẽ được dịch ngay lập tức, toàn bộ bài phát biểu, thông qua tai nghe, đó tương tự như Compile. Mặt khác, nếu bạn đi du lịch Hàn Quốc, bạn có một người phiên dịch, thông thường bạn và người đối thoại sẽ nói một câu, đợi người phiên dịch dịch câu nói đó, người kia trả lời, người phiên dịch lại dịch lại...đại khái việc dịch sẽ không xuyên suốt mà dịch từng câu ngắn, và đó tương tự như  Interprete.

Đại khái có thể tóm tắt sự khác nhau giữa Compiler và Interpreter:

  • Interpreter chuyển đổi một đoạn mã lệnh, thực thi nó sau đó mới lặp lại quá trình với đoạn mã lệnh tiếp theo. Trong khi đó, Compiler chuyển đổi toàn bộ mã lệnh một lần, sau đó mới thực thi, nói cách khác kết quả của Compiler chính là một file có phần mở rộng là EXE.
  • Compiler khởi tạo báo cáo lỗi sau khi chuyển đổi toàn bộ mã lệnh trong khi Interpreter sẽ dừng thông dịch nếu phát hiện ra lỗi.
  • Trong cùng một tiến trình, Compiler sẽ mất một lượng thời gian khi phân tích và xử lý ngôn ngữ bậc cao lớn hơn so với Interpreter.
  • Thời gian phân tích và xử lý một đoạn mã lệnh được thực thi tổng thể của compiler thì nhanh hơn so với interpreter (tương đối). 

Bây giờ chúng ta sẽ bàn về Python

Python được sáng tạo bởi Guido van Rossum vào những năm cuối thập niên 80, đầu thập niên 90 tại Viện nghiên cứu Quốc gia về Toán học và Khoa học máy tính ở Hà Lan.

Python là một công cụ mạnh mẽ và linh hoạt, phù hợp cho cả người mới học lập trình và những lập trình viên kỹ năng cao và được sử dụng rộng rãi trong nhiều lĩnh vực khác nhau. 

  • Python là ngôn ngữ lập trình hướng đối tượng (OOP) đơn giản, dễ học, mạnh mẽ. Python có cấu trúc cú pháp ít hơn các ngôn ngữ khác.
  • Python là ngôn ngữ lập trình thông dịch (Interpreter), có nghĩa là mã nguồn Python được thực thi theo từng dòng từ trên xuống dưới. Bạn không cần phải biên dịch chương trình của mình trước khi thực hiện nó.
  • Python được thiết kế để lập trình viên có thể đọc hiểu dễ dàng nhất, hỗ trợ phát triển một loạt các ứng dụng từ xử lý văn bản đơn giản, lập trình web, cho đến lập trình game.

Một số tính năng của Python:

  • Dễ học: Python có ít từ khóa, cấu trúc đơn giản và cú pháp được định nghĩa rõ ràng.
  • Dễ đọc: Mã Python được định nghĩa rõ ràng hơn.
  • Dễ bảo trì: Mã nguồn của Python khá dễ bảo trì.
  • Phần lớn thư viện của Python rất dễ đính kèm và đa nền tảng tương thích trên UNIX, Windows và Macintosh.
  • Python có hỗ trợ cho chế độ tương tác cho phép kiểm tra tương tác và debug.
  • Portable: Python có thể chạy trên nhiều nền tảng phần cứng khác nhau và có cùng giao diện trên tất cả các nền tảng.
  • Cơ sở dữ liệu: Python cung cấp phương thức giao tiếp cho tất cả các cơ sở dữ liệu.
  • Lập trình GUI: Python hỗ trợ các ứng dụng GUI.
  • Khả năng mở rộng: Python cung cấp cấu trúc và hỗ trợ tốt hơn cho các chương trình lớn hơn so với kịch bản lệnh shell.

Lưu ý: Python 2 và Python 3

Trong hầu hết các ngôn ngữ lập trình, bất cứ khi nào một phiên bản mới phát hành, nó hỗ trợ các tính năng và cú pháp của phiên bản ngôn ngữ hiện có, do đó, các dự án sẽ dễ dàng chuyển đổi trong phiên bản mới hơn. Tuy nhiên, trong trường hợp của Python, hai phiên bản Python 2 và Python 3 khác nhau rất nhiều.

Một số khác biệt giữa Python 2 và Python 3:

  • Python 2 sử dụng print như một câu lệnh và được sử dụng với cú pháp "một cái gì đó" để in một số chuỗi ra màn hình. Trái lại, Python 3 sử dụng print như một hàm và được sử dụng với cú pháp ("một cái gì đó") để in một cái gì đó ra màn hình.
  • Python 2 sử dụng hàm raw_input() để nhập dữ liệu từ bàn phím của người dùng. Nó trả về chuỗi đại diện cho giá trị, được gõ bởi người dùng. Để chuyển đổi nó thành số nguyên, chúng ta cần sử dụng hàm int() trong Python. Mặt khác, Python 3 sử dụng hàm input() tự động diễn giải loại đầu vào được nhập bởi người dùng. Tuy nhiên, chúng ta có thể truyền giá trị này cho bất kỳ loại nào bằng cách sử dụng các hàm nguyên thủy (int(), str(), v.v.).
  • Trong Python 2, loại chuỗi ngầm định là ASCII. Trong khi đó, trong Python 3, loại chuỗi ngầm định là Unicode.
  • Python 3 không chứa hàm xrange() của Python 2. Hàm xrange() là biến thể của hàm range() trả về một đối tượng xrange hoạt động tương tự như iterator trong Java. range() trả về một danh sách ví dụ range(0,3) chứa 0, 1, 2.
  • Ngoài ra còn có một thay đổi nhỏ trong việc xử lý ngoại lệ trong Python 3. Nó định nghĩa một từ khóa as bắt buộc sử dụng.

Phần tiếp theo



 

Không có nhận xét nào:

Đăng nhận xét