Python là gì?
Python là ngôn ngữ lập trình hướng đối tượng đơn giản, dễ học, mạnh mẽ, cấp cao. Python có cấu trúc cú pháp ít hơn các ngôn ngữ khác.
- Python được thông dịch: Python được trình thông dịch xử lý trong thời gian chạy. 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ó. Nó tương tự với PERL và PHP.
- Python là tương tác (Interactive): Tại một dấu nhắc Python (command line) bạn có thể tương tác trực tiếp với trình thông dịch để viết chương trình Python.
- Python là hướng đối tượng: Python hỗ trợ kỹ thuật lập trình hướng đối tượng hoặc kỹ thuật lập trình đóng gói mã trong các đối tượng.
- Python là ngôn ngữ của người mới bắt đầu: Python là ngôn ngữ tuyệt vời cho các lập trình viên mới bắt đầu và 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.
Lịch sử của Python
Python được Guido van Rossum phát triển vào cuối những năm tám mươi và đầu những năm chín mươi 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 có nguồn gốc từ nhiều ngôn ngữ khác, bao gồm ABC, Modula-3, C, C++, Algol-68, SmallTalk và Unix shell và các ngôn ngữ script khác.
Python có bản quyền. Giống như Perl, mã nguồn Python hiện có sẵn theo giấy phép GNU (GPL).
Python hiện được duy trì bởi một nhóm phát triển cốt lõi 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. Guido van Rossum vẫn giữ một vai trò quan trọng trong việc chỉ đạo tiến trình của nó.
Các tính năng của Python
Các tính năng của Python bao gồm:
- 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. Điều này cho phép người mới học tiếp cận ngôn ngữ một cách nhanh chóng.
- Dễ đọc: Mã Python được định nghĩa rõ ràng hơn và có thể nhìn thấy bằng mắt.
- Dễ bảo trì: Mã nguồn của Python khá dễ bảo trì.
- Một thư viện tiêu chuẩn rộng: 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.
- Chế độ tương tác: 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ó thể mở rộng: Bạn có thể thêm các module cấp thấp vào trình thông dịch Python. Các module này cho phép các lập trình viên thêm hoặc tùy chỉnh các công cụ của mình để hiệu quả hơn.
- 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 có thể được tạo và chuyển sang nhiều cuộc gọi hệ thống, thư viện và hệ thống cửa sổ, như Windows MFC, Macintosh và hệ thống X Window của Unix.
- 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.
Ngoài các tính năng được đề cập ở trên, Python còn có một danh sách lớn các tính năng khác, một số tính năng được liệt kê bên dưới:
- Nó hỗ trợ các phương pháp lập trình thủ t và có cấu trúc cũng như OOP.
- Nó có thể được sử dụng như một ngôn ngữ kịch bản hoặc có thể được biên dịch thành mã byte để xây dựng các ứng dụng lớn.
- Nó cung cấp các kiểu dữ liệu động ở mức rất cao và hỗ trợ kiểm tra kiểu động.
- Nó hỗ trợ thu gom rác tự động.
- Nó có thể dễ dàng tích hợp với C, C++, COM, ActiveX, CORBA và Java.
Python 2 vs. 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 danh sách các khác biệt giữa Python 2 và Python 3 được đưa ra dưới đây:
- 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. Mặt khác, 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.