Giới thiệu

Python là 1 ngôn ngữ lập trình mức cao, đa mục đích được sử dụng rộng rãi. Triết lý thiết kế của ngôn ngữ này là nhấn mạnh vào khả năng đọc mã và cú pháp của nó cho phép các lập trình viên diễn tả các ý tưởng chỉ trong vài dòng code. Ngôn ngữ này cung cấp các cấu trúc nhằm giúp cho các chương trình rõ ràng ở quy mô nhỏ lẫn quy mô lớn.

Python hỗ trợ nhiều mô hình lập trình, bao gồm hướng đối tượng, lập trình bắt buộc và lập trình theo chức năng hay lập trình thủ tục. Nó có 1 hệ thống loại động và khả năng quản lý bộ nhớ tự động và có 1 thư viện chuẩn lớn và hoàn chỉnh.

Giống như các ngôn ngữ động khác, Python thường được sử dụng như 1 ngôn ngữ kịch bản, nhưng cũng được sử dụng trong 1 phạm vi rộng các ngữ cảnh phi kịch bản. Sử dụng các công cụ của bên thứ 3, như là Py2exe hoặc Pyinstaller. Mã Python có thể được đóng gói trong các chương trình thực thi.  Trình thông dịch của Python đã có mặt trên nhiều hệ điều hành.

Hiện tại Python đang được ứng dụng như sau:
– Google sử dụng Python vào web search system
dịch vụ chia sẻ video số 1 thế giới phần lớn viết bằng Python
– Hệ thông Bit-Torrent P2P là 1 Python Program
, , HP, IBM … sử dụng Python để dùng vào quá trình hardware-testing
– Pixar hãng hoạt hình nổi tiếng sử dụng Python vào việc Production of movie amination
– NASA sử dụng Python vào scientific programming tasks.
– Open ERD
và còn nhiều nữa …..

Lịch sử ra đời của Python

Python đã được hình thành vào cuối những năm 1980 và được bắt đầu thực hiện vào tháng 12/1989 bởi Guido van Rossum tại CWI tại Hà Lan như là người kế thừa của ngôn ngữ ABC (tự lấy cảm hứng từ SETL) có khả năng xử lý ngoại lệ và giao tiếp với hệ điều hành Amoeba.  Van Rossum là tác giả chính của Python, và vai trò trung tâm của ông tiếp tục trong việc quyết định hướng phát triển của Python được phản ánh trong tiêu đề mà cộng đồng Python dành cho ông “Độc tài nhân từ cho cuộc sống” (benevolent dictator for life)(BDFL).

Python 2.0 được phát hành vào ngày 16/10/2000, với nhiều tính năng chính mới bao gồm một bộ dọn rác đầy đủ và hỗ trợ Unicode. Với phiên bản này, quá trình phát triển đã được thay đổi và trở thành minh bạch hơn và được cộng đồng ủng hộ.

Python 3.0 (còn được gọi là Python 3000 hoặc Py3k), một bản phát hành lớn, không tương thích ngược, được phát hành vào ngày 03/12/2008 sau một thời gian dài thử nghiệm. Nhiều trong số các tính năng chính của nó đã được điều chỉnh để tương thích ngược với Python 2.6 và 2.7.
Các tính năng và triết lý phát triển

Python là 1 ngôn ngữ lập trình đa hình: lập trình hướng đối tượng và hướng cấu trúc được hỗ trợ đầy đủ, và có 1 số tính năng của ngôn ngữ hỗ trợ lập trình theo chức năng và lập trình hướng khía cạnh (Aspect-oriented programming). Nhiều mô hình khác được hỗ trợ bằng việc sử dụng các phần mở rộng, bao gồm thiết kế theo hợp đồng (design by contract) và lập trình luận lý.

Python sử dụng loại động và 1 sự kết hợp giữa tính toán tham khảo và bộ dọn rác phát hiện theo chu kỳ cho việc quản lý bộ nhớ. 1 tính năng quan trọng của Python là phân giải tên động (late binding), liên kết các tên phương thức và biến trong thời gian thực thi.

Thiết kế của Python chỉ cung cấp hỗ trợ hạn chế cho việc lập trình chức năng trong truyền thống Lisp. Ngôn ngữ có các chức năng map(), reduce() và filter(), bộ đầy đủ cho các danh sách, từ điển và các tập hợp, cũng như là các biểu thức khởi tạo. Thư viện chuẩn có 2 module (itertools và functools).

ĐẶC ĐIỂM

Dễ học, dễ đọc

Python được thiết kế để trở thành một ngôn ngữ dễ học, mã nguồn dễ đọc, bố cục trực quan, dễ hiểu, thể hiện qua các điểm sau:

  • Từ khóa: Python tăng cường sử dụng từ khóa tiếng Anh, hạn chế các kí hiệu và cấu trúc cú pháp so với các ngôn ngữ khác.
  • Python là một ngôn ngữ phân biệt kiểu chữ HOA, chữ thường. Như C/C++, các từ khóa của Python đều ở dạng chữ thường.

Khối lệnh

Trong các ngôn ngữ khác, khối lệnh thường được đánh dấu bằng cặp kí hiệu hoặc từ khóa. Ví dụ, trong C/C++, cặp ngoặc nhọn { } được dùng để bao bọc một khối lệnh. Python, trái lại, có một cách rất đặc biệt để tạo khối lệnh, đó là thụt các câu lệnh trong khối vào sâu hơn (về bên phải) so với các câu lệnh của khối lệnh cha chứa nó.

Đa năng

Python là một ngôn ngữ lập trình đơn giản nhưng rất hiệu quả:

  • So với shell, Python hỗ trợ các chương trình lớn hơn và cung cấp nhiều cấu trúc hơn.
  • So với C, Python cung cấp nhiều cơ chế kiểm tra lỗi hơn. Nó cũng có sẵn nhiều kiểu dữ liệu cấp cao, ví dụ như các mảng (array) linh hoạt và từ điển (dictionary)mà ta sẽ phải mất nhiều thời gian nếu viết bằng C.

Python là một ngôn ngữ lập trình cấp cao có thể đáp ứng phần lớn yêu cầu của lập trình viên:

  • Python thích hợp với các chương trình lớn hơn cả AWK và .
  • Python được sử dụng để lập trình Web. Nó có thể được sử dụng như một ngôn ngữ kịch bản.
  • Python được thiết kế để có thể nhúng và phục vụ như một ngôn ngữ kịch bản để tuỳ biến và mở rộng các ứng dụng lớn hơn.
  • Python được tích hợp sẵn nhiều công cụ và có một thư viện chuẩn phong phú, Python cho phép người dùng dễ dàng tạo ra các dịch vụ Web, sử dụng các thành phần COM hay CORBA, hỗ trợ các loại định dạng dữ liệu Internet như , , XML và các ngôn ngữ đánh dấu khác. Python cũng được cung cấp các thư viện xử lý các giao thức Internet thông dụng như HTTP, ,…
  • Python có khả năng giao tiếp đến hầu hết các loại cơ sở dữ liệu, có khả năng xử lí văn bản, tài liệu hiệu quả, và có thể làm việc tốt với các công nghệ Web khác.
  • Python đặc biệt hiệu quả trong lập trình tính toán khoa học nhờ các công cụ Python Imaging Library, pyVTK, MayaVi 3D Visualization Toolkits, Numeric Python, ScientificPython,…
  • Python có thể được sử dụng để phát triển các ứng dụng desktop. Lập trình viên có thể dùng wxPython, PyQt, PyGtk để phát triển các ứng dụng giao diện đồ họa (GUI) chất lượng cao. Python còn hỗ trợ các nền tảng phát triển phần mềm khác như MFC, Carbon, Delphi, X11, Motif, Tk, Fox, FLTK, …
  • Python cũng có sẵn một unit testing framework để tạo ra các các bộ test (test suites).

Multiple paradigms (đa biến hóa)

Python là một ngôn ngữ đa biến hóa (multiple paradigms). Có nghĩa là, thay vì ép buộc mọi người phải sử dụng duy nhất một phương pháp lập trình, Python lại cho phép sử dụng nhiều phương pháp lập trình khác nhau: hướng đối tượng, có cấu trúc, chức năng, hoặc chỉ hướng đến một khía cạnh. Python kiểu kiểu động và sử dụng bộ thu gom rác để quản lí bộ nhớ. Một đặc điểm quan trọng nữa của Python là giải pháp tên động, kết nối tên biến và tên phương thức lại với nhau trong suốt thực thi của chương trình.

Trình thông dịch

Python là một ngôn ngữ lập trình dạng thông dịch, do đó có ưu điểm tiết kiệm thời gian phát triển ứng dụng vì không cần phải thực hiện biên dịch và liên kết. Trình thông dịch có thể được sử dụng để chạy file script, hoặc cũng có thể được sử dụng theo cách tương tác. Ở chế độ tương tác, trình thông dịch Python tương tự shell của các hệ điều hành họ Unix, tại đó, ta có thể nhập vào từng biểu thức rồi gõ Enter, và kết quả thực thi sẽ được hiển thị ngay lập tức. Đặc điểm này rất hữu ích cho người mới học, giúp họ nghiên cứu tính năng của ngôn ngữ; hoặc để các lập trình viên chạy thử mã lệnh trong suốt quá trình phát triển phần mềm. Ngoài ra, cũng có thể tận dụng đặc điểm này để thực hiện các phép tính như với bỏ túi.

Bài 1: Hello World

File lesson1.py

print "Hello World"
print "My name is John"
print "I'm Studying Python"
print "Python! Python! Python!"
Print Friendly

Comments

comments

Bài viết liên quan