✨Python (ngôn ngữ lập trình)

Python (ngôn ngữ lập trình)

Python () là ngôn ngữ lập trình bậc cao đa năng. Triết lý thiết kế của nó nhấn mạnh khả năng đọc mã bằng cách sử dụng thụt lề đáng kể.

Python có kiểu động và thu gom rác. Ngôn ngữ này hỗ trợ nhiều mô hình lập trình, bao gồm lập trình cấu trúc (đặc biệt là lập trình thủ tục), lập trình hướng đối tượng và lập trình chức năng. Nó thường được mô tả là ngôn ngữ "bao gồm pin" do có thư viện tiêu chuẩn toàn diện.

Guido van Rossum bắt đầu nghiên cứu Python vào cuối những năm 1980 với tư cách là ngôn ngữ kế thừa cho ngôn ngữ lập trình ABC và phát hành nó lần đầu tiên vào năm 1991 với tên gọi Python 0.9.0.

Python 2.0 được ra mắt vào năm 2000. Python 3.0 được ra mắt vào năm 2008, là bản sửa đổi lớn không hoàn toàn tương thích ngược với các phiên bản trước đó. Python 2.7.18, được phát hành vào năm 2020, là bản phát hành cuối cùng của Python 2.

Python liên tục được xếp hạng là một trong những ngôn ngữ lập trình phổ biến nhất và được sử dụng rộng rãi trong cộng đồng học máy.

Lịch sử

Python đã được Guido van Rossum tạo ra vào những năm 1980 tại Trung tâm Toán học – Tin học (Centrum Wiskunde & Informatica, CWI) ở Hà Lan như là một ngôn ngữ kế tục ngôn ngữ ABC – một ngôn ngữ được 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. Nó bắt đầu được triển khai vào tháng 12 năm 1989. Van Rossum đã tự mình gánh vác trách nhiệm cho dự án, với vai trò là nhà phát triển chính, cho đến ngày 12 tháng 7 năm 2018, khi ông thông báo rằng ông sẽ rời bỏ trách nhiệm của ông và cả danh hiệu "Nhà độc tài nhân từ cho cuộc sống" của Python, một danh hiệu mà cộng đồng Python đã trao tặng cho ông vì sự tận tụy lâu dài của ông với vai trò là người ra quyết định chính cho dự án. Vào tháng 1 năm 2019, các nhà phát triển phần lõi Python đã bầu ra một "Hội đồng chèo lái" gồm năm thành viên để dẫn dắt dự án.

Python 2.0 được ra mắt vào ngày 16 tháng 10 năm 2000, với nhiều tính năng mới mẻ, bao gồm một bộ dọn rác phát hiện theo chu kỳ và khả năng hỗ trợ Unicode.

Python 3.0 được ra mắt vào ngày mùng 3 tháng 12 năm 2008. Đây là một phiên bản lớn của Python không tương thích ngược hoàn toàn. Nhiều tính năng lớn của nó đã được chuyển mã ngược (backport) về loạt phiên bản Python 2.6.x và 2.7.x. Các bản phát hành của Python 3 có đi kèm với công cụ 2to3, có tác dụng tự động hoá việc dịch mã Python 2 sang Python 3.

Python 3.9.2 và 3.8.8 được xúc tiến vì tất cả các phiên bản trước của Python (bao gồm cả 2.7) gặp một số vấn đề bảo mật, có thể dẫn đến thực thị mã từ xa và "đầu độc" bộ nhớ đệm.

Trong năm 2022, Python 3.10.4 và 3.9.12 được xúc tiến cùng với 3.8.13 và 3.7.13, nguyên nhân là do một vài vấn đề về bảo mật. Khi Python 3.9.13 được phát hành vào tháng Năm năm 2022, loạt phiên bản 3.9 (cùng với loạt 3.8 và 3.7) được thông báo rằng sẽ chỉ nhận được các bản vá bảo mật trong tương lai. Vào ngày 7 tháng Chín năm 2022, bốn bản cập nhật mới được phát hành do có khả năng xảy ra một cuộc tấn công từ chối dịch vụ: 3.10.7, 3.9.14, 3.8.14 và 3.7.14.

Python 3.13 là bản phát hành ổn định mới nhất. Một số thay đổi đáng chú ý từ bản 3.12 bao gồm các thay đổi về ngôn ngữ và thư viện chuẩn.

Triết lý thiết kế và tính năng

Python là một ngôn ngữ lập trình đa mẫu hình, lập trình hướng đối tượng và lập trình cấu trúc được hỗ trợ hoàn toàn, và nhiều tính năng của nó cũng hỗ trợ lập trình hàm và lập trình hướng khía cạnh (bao gồm siêu lập trình và siêu đối tượng (phương thức thần kỳ)). Các mẫu hình khác cũng được hỗ trợ thông qua các phần mở rộng, bao gồm thiết kế theo hợp đồng và lập trình logic.

Python sử dụng kiểu động và một dạng kết hợp giữa đếm tham chiếu và bộ dọn rác kiểm tra theo chu kì để quản lí bộ nhớ. Nó cũng có tính năng phân giải tên động (liên kết muộn), cho phép liên kết các tên biến và phương thức trong quá trình thực thi chương trình.

Thiết kế của Python cung cấp một số tính năng cho lập trình hàm giống như trong ngôn ngữ Lisp. Python có các hàm , và ; thông hiểu danh sách (list comprehension), từ điển (dictionary), tập hợp (set), và các biểu thức bộ sinh (generator). Thư viện chuẩn cũng có hai mô đun ( và ) triển khai các công cụ hàm được vay mượn từ Haskell và Standard ML.

Triết lý căn bản của ngôn ngữ Python được trình bày trong tài liệu The Zen of Python (PEP 20), có dạng thơ Haiku, tóm gọn như sau:

  • Đẹp đẽ tốt hơn xấu xí
  • Minh bạch tốt hơn ngầm định
  • Đơn giản tốt hơn phức tạp
  • Phức tạp tốt hơn rắc rối
  • Tính dễ đọc rất quan trọng. Thay vì tích hợp hết tất cả các tính năng vào phần cốt lõi, Python được thiết kế để dễ dàng mở rộng (bằng các mô đun). Tính mô đun nhỏ gọn này đã làm cho Python trở nên phổ biến như là một cách thêm các giao diện lập trình được vào các ứng dụng hiện có. Tầm nhìn của Van Rossum về một ngôn ngữ có phần lõi nhỏ với một thư viện chuẩn rộng lớn và một trình thông dịch dễ dàng mở rộng bắt nguồn từ việc ông nản lòng trước ABC, một ngôn ngữ lập trình tán thành hướng tiếp cận ngược lại.

Python nỗ lực hướng đến một cú pháp đơn giản hơn, gọn gàng hơn trong khi vẫn cho các nhà phát triển lựa chọn phương pháp viết mã của họ. Đối lập với khẩu hiệu "có nhiều hơn một cách để làm việc này," triết lý thiết kế của Python lại nằm trong châm ngôn "chỉ nên có một— và tốt nhất là chỉ một—cách rõ ràng để làm việc này". Alex Martelli, một Viện sĩ (Fellow) tại Tổ chức Phần mềm Python (Python Software Foundation) và là một tác giả viết sách Python, viết rằng "Mô tả một thứ gì đó là "tài tình" không được coi là một lời khen ngợi trong văn hoá Python."

Các nhà phát triển Python nỗ lực tránh xa việc tối ưu hoá quá sớm và không chấp nhận các bản vá không cải thiện đáng kể tốc độ mà lại làm mất đi tính rõ ràng lên những phần không thiết yếu của bản triển khai tham khảo CPython. – và trong một số cách tiếp cận thi thoảng vui tươi trong hướng dẫn và các tài liệu tham khảo, chẳng hạn như một vi dụ có đề cập đến trứng và spam (gợi nhắc đến một tiểu phẩm trong Monty Python) thay cho foo và bar tiêu chuẩn.

Một phổ biến trong cộng đồng Python là pythonic (đậm chất Python), một từ có thể có nhiều ý nghĩa liên quan đến phong cách lập trình. Nói rằng một phần mã nào đó là pythonic tức là phần mã đó sử dụng tốt các Python, trông tự nhiên hoặc trôi chảy về ngôn ngữ, phù hợp với triết lý tối giản của Python và nhấn mạnh vào tính dễ đọc. Ngược lại, những phần mã khó hiểu hoặc trông như một bản dịch thô từ một ngôn ngữ lập trình khác được gọi là unpythonic (không đậm chất Python).

Những người sử dụng và say mê Python, nhất là những người được cho là am hiểu hay có nhiều kinh nghiệm, thường được gọi là các Pythonista.

Cú pháp

Python là một ngôn ngữ dễ đọc, dễ hiểu. Định dạng của nó rất gọn gàng về mặt trực quan, và nó thường sử dụng các từ khoá tiếng Anh trong khi các ngôn ngữ khác lại sử dụng các dấu câu. Khác với nhiều ngôn ngữ khác, nó không sử dụng các dấu ngoặc nhọn để giới hạn các khối lệnh, và dấu chấm phẩy cuối câu lệnh rất ít khi được sử dụng dù không bị cấm. Nó có ít ngoại lệ cú pháp và trường hợp đặc biệt hơn C và Pascal.

Thụt lề

Python sử dụng thụt lề bằng khoảng trắng hoặc ký tự tab thay vì dùng ngoặc nhọn hay các từ khoá để giới hạn khối lệnh. Lề thường được thụt vào sau một câu lệnh và thụt ra để đánh dấu kết thúc khối lệnh hiện tại. Cho nên, cấu trúc trực quan của chương trình sẽ thể hiện một cách chính xác cấu trúc ngữ nghĩa của chương trình đó. Tính năng này thỉnh thoảng cũng được gọi là "quy tắc việt vị", một quy tắc cũng xuất hiện ở một số ngôn ngữ; nhưng trong phần lớn ngôn ngữ thì thụt lề không phụ thuộc vào cú pháp. Cỡ thụt lề được khuyến cáo là bốn dấu cách.

Câu lệnh và luồng điều khiển

Một số câu lệnh trong Python gồm có:

  • Câu lệnh gán, sử dụng một dấu bằng =.
  • Câu lệnh if: thực thi một khối lệnh nếu thoả mãn điều kiện, sử dụng cùng với elseelif (viết tắt của else-if).
  • Câu lệnh for: lặp qua một đối tượng lặp được, gán mỗi phần tử và một biến cục bộ để sử dụng trong khối lệnh của vòng lặp.
  • Câu lệnh while: thực thi một khối lệnh chừng nào điều kiện còn đúng.
  • Câu lệnh try: cho phép bắt ngoại lệ được nâng lên (raise) trong khối lệnh và dùng vế except để xử lý; câu lệnh cũng đảm bảo rằng phần mã dọn dẹp trong khối finally sẽ được chạy dù có lỗi hay không.
  • Câu lệnh raise: được dùng để nâng một ngoại lệ hoặc nâng lại một ngoại lệ đã được bắt từ trước.
  • Câu lệnh class: thực thi một khối lệnh và gắn không gian tên cục bộ của nó vào một lớp, để dùng trong lập trình hướng đối tượng.
  • Câu lệnh def: định nghĩa một hàm hoặc phương thức.
  • Câu lệnh with: bao bọc một khối lệnh bằng một bộ quản lí ngữ cảnh (context manager) (ví dụ như khoá luồng lại trước khi chạy mã rồi mở khoá, hoặc mở một tệp rồi đóng tệp lại), cho phép các hành vi kiểu RAII (sự đạt được tài nguyên là sự khởi tạo) và thay thể cho các câu lệnh try/finally thường thấy.
  • Câu lệnh break: thoát ra khỏi vòng lặp.
  • Câu lệnh continue: bỏ qua lần lặp này và tiếp tục với mục kế tiếp.
  • Câu lệnh del: loại bỏ một biến, tức là tham chiếu từ tên đến giá trị sẽ bị xoá và cố gắng sử dụng biến đó sẽ gây lỗi. Một biến đã bị xoá có thể được gán lại.
  • Câu lệnh pass: đóng vai trò như là một dạng NOP. Câu lệnh này được dùng để tạo các khối lệnh rỗng.
  • Câu lệnh assert: được dùng trong khi gỡ lỗi để kiểm tra điều kiện nên đúng.
  • Câu lệnh yield: trả lại giá trị từ một hàm bộ sinh; bản thân yield cũng là một toán tử. Dạng này được dùng để triển khai các đồng thường trình.
  • Câu lệnh return: trả lại một giá trị từ một hàm hay phương thức.
  • Câu lệnh import: được dùng để nhập các mô đun chứa các hàm và biến được sử dụng trong chương trình hiện tại. Câu lệnh gán (=) hoạt động bằng cách liên kết một tên dưới dạng một tham chiếu với một đối tượng được cấp phát động riêng lẻ. Các biến có thể được dùng lại bất cứ lúc nào với bất cứ đối tượng nào. Trong Python, một tên biến chỉ giữ tham chiếu một cách chung chung và không có kiểu dữ liệu cố định đi kèm. Tuy nhiên, tại một thời điểm nhất định, một biến sẽ tham chiếu đến một vài đối tượng có kiểu. Nó được gọi là kiểu động, ngược lại với các ngôn ngữ lập trình kiểu tĩnh với mỗi biến chỉ có thể chứa giá trị của một kiểu nhất định.

Biểu thức

Một số biểu thức trong Python tương tự như những biểu thức trong những ngôn ngữ khác chẳng hạn như C và Java, trong khi số khác thì không:

  • Phép cộng, trừ và nhân thì đều giống nhau, nhưng hành vi của phép chia thì khác nhau. Có hai loại phép chia trong Python: phép chia phần nguyên (phép chia số nguyên) dùng dấu // và phép chia dấu phẩy động dùng dấu /. Python cũng sử dụng toán tử ** cho phép luỹ thừa.
  • Từ Python 3.5, toán tử trung tố @ mới đã được giới thiệu. Nó được thiết kể để được sử dụng trong các thư viện như NumPy để nhân ma trận.
  • Từ Python 3.8, cú pháp :=, hay "toán tử moóc" đã được giới thiệu. Nó gán giá trị vào biến trong một phần của một biểu thức lớn hơn.
  • Trong Python, == so sánh theo giá trị, khác với Java, vốn so sánh các số theo giá trị và các đối tượng theo tham chiếu. (So sánh giá trị trong Java có thể được thực hiện bằng phương thức equals().) Toán tử is của Python có thể được dùng để so sánh danh tính của đối tượng (so sánh theo tham chiếu). Trong Python, các phép so sánh có thể được xâu chuỗi lại với nhau, ví dụ như .
  • Python sử dụng các từ khoá and, or, not để so sánh luận lý (boolean) thay vì dùng các loại biểu tượng &&, ||, ! được dùng trong Java và C.
  • Python có một loại biểu thức được gọi là thông hiểu danh sách (list comprehension) cũng như một loại biểu thức chung được gọi là biểu thức bộ sinh (generator expression). (có sự khác biệt về trật tự của các toán hạng so với toán tử c ? x : y thường có trong những ngôn ngữ khác). Có sự phân biệt giữa danh sách và bộ trong Python. Danh sách được viết dưới dạng , biển đổi được, và không thể được dùng như khoá cho từ điển (các khoá từ điển phải là bất biến trong Python). Bộ được viết dưới dạng , không biến đổi được nên có thể được dùng làm khoá của từ điển, với điều kiện là tất cả các phần tử trong bộ cũng phải là bất biến. Toán tử + có thể được sử dụng để nối liền hai bộ lại với nhau, nhưng không trực tiếp thay đổi nội dung của chúng, mà sẽ tạo ra một bộ mới chứa các phần tử của cả hai bộ ban đầu. Vì vậy, cho một biến t ban đầu bằng , chạy lệnh sẽ thực thì đầu tiên, tạo ra , rồi mới được gán lại cho t, bằng cách đó đã "chỉnh sửa nội dung" của t một cách hiệu quả, trong khi vẫn tuân theo bản chất bất biến của đối tượng bộ. Trong các ngữ cảnh không mơ hồ thì dấu ngoặc đơn là không cần thiết. Python có một tính năng là tháo tách chuỗi (sequence unpacking) trong đó các biểu thức, mà mỗi biểu thức được đánh giá thành bất kì thứ gì có thể được gán vào (một biến, một thuộc tính viết được...), được liên kết theo cùng một cách với các bộ ban đầu đó và được đặt vào vế bên trái dấu bằng trong một câu lệnh gán. Câu lệnh này mong đợi một một đối tượng lặp được (iterable) ở vế bên phải dấu bằng tạo ra cùng một số lượng giá trị giống như ở các biểu thức trước đó khi đã và sẽ lặp qua, rồi gán mỗi giá trị được tạo ra bằng các biểu thức tương ứng ở vế bến trái. *Python có một toán tử "định dạng xâu" là %. Chức năng này tương tự như định dạng xâu printf trong C, thí dụ như được đánh giá thành "spam=blah eggs=2". Trong Python 3 và 2.6+, chức năng này được bổ sung bằng phương thức format() của lớp str, ví dụ như . Python 3.6 đã bổ sung thêm "f-string": .
  • Các xâu trong Python có thể được ghép móc với nhau bằng cách "cộng" chúng lại (dùng cùng toán tử với phép cộng số nguyên và số phẩy động). Thí dụ, cho ra "spameggs". Kể cả nếu xấu chứa số, chúng vẫn sẽ được ghép móc thành xâu thay vì số nguyên. Thí dụ, cho ra"22". *Python có nhiều kiểu hằng xâu khác nhau: ** Xâu được phân cách bởi dấu nháy đơn hoặc nháy kép. Khác với hệ vỏ Unix, Perl và các ngôn ngữ ảnh hưởng từ Perl, dấu nháy đơn và dấu nháy kép có cùng chức năng. Cả hai loại xâu đều dùng dấu chéo ngược (\) làm ký tự thoát (escape character). Nội suy xâu đã được thêm vào kể từ Python 3.6 với tên gọi "hằng xâu được định dạng".

Kiểu dữ liệu

nhỏ|Cấp bậc kiểu tiêu chuẩn trong Python 3 Python sử dụng định kiểu vịt (duck typing) và có các đối tượng có kiểu nhưng tên biến thì không có kiểu. Giới hạn về kiểu không được kiểm tra trong lúc biên dịch; thay vào đó. các thao tác lên một đối tượng có thể thất bại, chỉ ra rằng đối tượng đó không thuộc vào kiểu dữ liệu phù hợp. Tuy là định kiểu động, Python cũng là định kiểu mạnh khi không cho phép các thao tác không được định nghĩa rõ ràng (chẳng hạn như cộng một số vào một xâu) thay vì lặng lẽ cố gắng diễn giải thao tác đó.

Python cho phép các lập trình viên định nghĩa các kiểu của riêng mình bằng cách sử dụng lớp, thường được dùng trong lập trình hướng đối tượng. Các hiện thể của một lớp thường được tạo ra bằng cách gọi lớp đó (chẳng hạn như hay ), các lớp lại là hiện thể của siêu lớp type (bản thân nó cũng là một hiện thể của chính nó), cho phép siêu lập trình và phản xạ.

Trước phiên bản 3.0, Python có hai loại lớp là kiểu cũkiểu mới. Cú pháp của cả hai kiểu đều giống nhau. Sự khác biệt nằm ở chỗ lớp đó có kế thừa từ lớp object một cách trực tiếp hoặc gián tiếp hay không (tất cả các lớp kiểu mới đều kế thừa từ object và là hiện thể của type). Từ phiên bản Python 2.2 trở đi, cả hai loại lớp đều có thể được sử dụng. Lớp kiểu cũ đã bị loại bỏ trong Python 3.0.

Kế hoạch dài hạn là hỗ trợ định kiểu dần dần và từ Python 3.5, cú pháp của ngôn ngữ này cho phép chỉ rõ các kiểu tĩnh nhưng chúng lại không được kiểm tra trong bản triển khai mặc định, CPython. Một trình kiểm tra kiểu tĩnh đang trong quá trình thử nghiệm và tuỳ chọn tên là mypy có hỗ trợ kiểm tra kiểu trong thời gian biên dịch.

Phép tính số học

Python có các kí hiệu thường dùng cho các toán tử số học (+, -, *, /), toán tử chia sàn // và toán tử chia lấy dư % (số dư có thể âm, chẳng hạn như 4 % -3 == -2). Nó cũng có toán tử cho phép luỹ thừa, chẳng hạn như 53 == 1259**0.5 == 3.0, và toán tử nhân ma trận @. Các toán tử này hoạt động giống như trong toán học truyền thống, với cùng thứ tự tính toán, toán tử trung tố (+- cũng có thể làm toán tử một ngôi để biểu diễn số dương và số âm một cách tương ứng).

Phép chia giữa các số nguyên tạo ra kết quả là số phẩy động. Hành vi của phép chia đã thay đổi đáng kể theo thời gian:

  • Python hiện tại (kể từ 3.0) thay đổi / thành phép chia số phẩy động, ví dụ: .
  • Python 2.2 đã thay đổi phép chia số nguyên để nó làm tròn về phía âm vô cực, ví dụ 7/3 == 2-7/3 == -3. Toán tử chia sàn // đã được giới thiệu. Cho nên 7//3 == 2, -7//3 == -3, 7.5//3 == 2.0-7.5//3 == -3.0. Thêm sẽ làm cho một mô đun sử dụng quy tắc chia của Python 3.0.
  • Python 2.1 về trước sử dụng hành vi chia kiểu C. Toán tử / là phép chia nguyên nếu cả hai toán hạng là số nguyên, nếu không thì là phép chia số phẩy động. Phép chia nguyên làm tròn về 0, ví dụ và . Trong thuật ngữ Python, /phép chia đúng (gọi tắt là phép chia), và //phép chia sàn. Toán tử / trước phiên bản 3.0 là phép chia cổ điển.

Python cung cấp một hàm round để làm tròn một số phẩy động thành số nguyên gần nhất. Để gỡ hoà (với những số có chữ số cuối là 5), Python 3 sử dụng làm tròn thành số chẵn: round(1.5)round(2.5) đều là 2. Các phiên bản trước 3 làm tròn xa số không: round(0.5)1.0, round(-0.5)−1.0.

Python cho phép sử dụng các biểu thức luận lý với nhiều quan hệ băng nhau theo một cách đồng nhất với cách dùng chung trong toán học. Thí dụ, biểu thức a < b < c kiểm tra xem a có nhỏ hơn bb có nhỏ hơn c hay không. Các ngôn ngữ dựa trên C sẽ hiểu biểu thức trên khác đi: trong C, biểu thức trên sẽ đánh giá a < b trước tiên, cho ra kết quả 0 hoặc 1, rồi kết quả đó mới được so sánh với c.

Python sử dụng số học có độ chính xác tuỳ ý cho tất cả các thao tác với số nguyên. Kiểu/Lớp Decimal trong mô đun decimal cung cấp số dấu phẩy động thập phân với một độ chính xác tuỳ ý được định trước và một vài chế độ làm tròn. Lớp Fraction trong mô đun fractions cung cấp độ chính xác tuỳ ý cho số hữu tỉ.

Nhờ thư viện toán học rộng lớn của Python và thư viện bên thứ ba NumPy với nhiều tính năng hơn nữa, Python thường được dùng như một ngôn ngữ kịch bản để giải quyết các vấn đề chẳng hạn như thao tác và xử lí dữ liệu số.

👁️ 3 | 🔗 | 💖 | ✨ | 🌍 | ⌚
**Python** () là ngôn ngữ lập trình bậc cao đa năng. Triết lý thiết kế của nó nhấn mạnh khả năng đọc mã bằng cách sử dụng thụt lề đáng kể. Python có kiểu động
**Ruby** là một ngôn ngữ lập trình hướng đối tượng, có khả năng phản ứng. Theo tác giả, Ruby chịu ảnh hưởng bởi Perl, Smalltalk, Eiffel, Ada và Lisp. Ruby cung cấp nhiều mẫu hình
phải|nhỏ|402x402px|[[Mã nguồn của một chương trình máy tính đơn giản được viết bằng ngôn ngữ lập trình C. Khi được biên dịch và chạy, nó sẽ cho kết quả "Hello, world!".]] **Ngôn ngữ lập trình**
Trong lập trình máy tính, một **triển khai của ngôn ngữ lập trình** là một hệ thống để thực thi chương trình máy tính. Có hai cách tiếp cận chung để triển khai một ngôn
**Pascal** là một ngôn ngữ lập trình cho máy tính thuộc dạng mệnh lệnh và thủ tục, được Niklaus Wirth phát triển vào năm 1970. Pascal là ngôn ngữ lập trình đặc biệt thích hợp
nhỏ|Cbmain Trong khoa học máy tính, một **ngôn ngữ lập trình bậc cao** (tiếng Anh: _high-level programming language_) là một ngôn ngữ lập trình có sự trừu tượng hóa mạnh mẽ khỏi các chi tiết
Đây là danh sách các ngôn ngữ lập trình đáng chú ý, được nhóm theo loại. Vì không có sơ đồ phân loại bao quát cho các ngôn ngữ lập trình, nên trong nhiều trường
**D** là một ngôn ngữ lập trình hệ thống hướng đối tượng, dùng câu lệnh, đa mẫu hình do Walter Bright của Digital Mars tạo ra và phát hành năm 2001. Quá trình thiết kế
**Groovy** là một ngôn ngữ lập trình hướng đối tượng trên nền Java. Nó là một ngôn ngữ lập trình động với các tính năng tương tự như Python, Ruby, Perl, và Smalltalk. Hơn nữa,
Trong phần mềm máy tính, **lập trình đa năng** (tiếng Anh: **general-purpose programming language**) là ngôn ngữ lập trình được thiết kế để sử dụng cho việc Các ngôn ngữ lập trình ban đầu được
Mục đích của **danh sách các ngôn ngữ lập trình** này là bao gồm tất cả các ngôn ngữ lập trình hiện tại đáng chú ý, được sử dụng hiện tại và những ngôn ngữ
Bài Tập Lập Trình Cơ Bản Với Ngôn Ngữ Python Python là ngôn ngữ lập trình xu thế của thời đại. Ở Việt Nam hiện nạy, Bộ Giáo dục & Đào tạo đã quyết định
Trong khoa học máy tính, **bao đóng** (closure) là một hàm hay một tham chiếu tới một hàm cùng với môi trường tham chiếu - một bảng chứa tham chiếu đến mỗi biến không phải
Trong tin học, **mẫu hình lập trình** là một kiểu lập trình _kiểu có tính mẫu hình_ trong tiến hành về công nghệ phần mềm. Một mẫu hình lập trình cung cấp (xác định) quan
Trong khoa học máy tính, **lập trình mảng** (tiếng Anh: _array programming_) là giải pháp cho phép áp dụng chương trình hoạt động lên toàn bộ tập các giá trị cùng một lúc. Các giải
**Quán ngữ lập trình** (tiếng Anh: programming idiom) hay **quán ngữ code** (tiếng Anh: code idiom) là chiết đoạn cú pháp thường xuyên xuất hiện đi xuất hiện lại khắp các dự án phầm mềm
**Ngôn ngữ đa năng** (tiếng Anh: _general-purpose language_) là một ngôn ngữ máy tính có thể áp dụng rộng rãi trên các miền ứng dụng, và thiếu các tính năng chuyên biệt cho một miền
thumb|"Bài thơ" Zen of Python được xuất ra trong terminal **Zen of Python** (dịch: Thiền của Python) là một tập hợp gồm 19 "nguyên tắc chỉ dẫn" cho việc viết chương trình máy tính, góp

**Ngôn ngữ kịch bản** () là ngôn ngữ lập trình cho môi trường thời gian chạy đặc biệt tự động hóa thực thi các tác vụ; các tác vụ thay thế có thể
**Lập trình hướng đối tượng** () là một mẫu hình lập trình dựa trên khái niệm "đối tượng", mà trong đó, đối tượng chứa đựng các dữ liệu trong các trường, thường được gọi là
Python là ngôn ngữ lập trình đa năng ra đời năm 1991 do Guido van Rossum sáng tạo ra. Đây là ngôn ngữ lập trình với những điểm mạnh như dễ đọc, dễ nhớ, dễ
Combo 2 sách Lập trình với Python cơ bản và nâng cao 1. SÁCH LẬP TRÌNH VỚI PYTHON PYTHON LÀ GÌ Theo chỉ số phổ biến của ngôn ngữ lập trình PYPL trong năm 2022,
SÁCH LẬP TRÌNH VỚI PYTHON PYTHON LÀ GÌ Theo chỉ số phổ biến của ngôn ngữ lập trình PYPL trong năm 2022, Python hiện xếp đầu tiên trên bảng xếp hạng trên cả Java và
Lời nói đầu cuốn Python lập trinh thuật toán Chúc mừng các bạn đã có trên tay cuốn sách Python lập trình thuật toán, một cuốn sách mới, và có lẽ là đầu tiên trình
**Đặc tính** (tiếng Anh: _property_), trong một số ngôn ngữ lập trình hướng đối tượng, là một loại đặc biệt của thành viên lớp, trung gian chức năng giữa một trường (hay thành viên dữ
**Lập trình máy tính** hay **lập chương trình máy tính,** thường gọi tắt là **lập trình** (, hay _programming_), là việc lập ra chương trình làm việc cho máy có bộ xử lý, nói riêng
phải|Biểu đồ hoạt động của một trình biên dịch lý tưởng. **Trình biên dịch** () hay **phần mềm biên dịch** là một chương trình máy tính làm công việc dịch một chuỗi các câu lệnh
Hội thi Tin học trẻ và ngôn ngữ lập trình Python Hội thi Tin học trẻ do Trung ương Đoàn TNCS Hồ Chí Minh chủ trì, phối hợp với Bộ Khoa học và Công nghệ,
Trong lập trình hướng đối tượng dựa trên lớp, **hàm tạo** (tiếng Anh: _constructor_, viết tắt: _ctor_) trong một lớp là một kiểu chương trình con đặc biệt được dùng để tạo ra đối tượng.
**Lập trình dựa trên nguyên mẫu** (tiếng Anh: **prototype-based programming**) là một kiểu lập trình hướng đối tượng, trong đó việc tái sử dụng hành vi (được gọi là kế thừa) được thực hiện thông
Lập trình ngầu hết xảygiống như một chú thỏ uyên bác và vui tính sẽ dẫn đường cho bạn đi vào xứ sở bí ẩn và kỳ diệu của máy vi tính, gặp gỡ những
1.Tớ Học Lập Trình - Làm Quen Với Lập Trình bạn trẻ mới học, vì tính tương tác trực quan, đồ họa sống động, ra sản phẩm liền tay mà vẫn đảm bảo khoa học
1.Tớ Học Lập Trình - Làm Quen Với Lập Trình bạn trẻ mới học, vì tính tương tác trực quan, đồ họa sống động, ra sản phẩm liền tay mà vẫn đảm bảo khoa học
Trong điện toán, **lập trình hướng khía cạnh** (tiếng Anh: _aspect-oriented programming_, viết tắt: _AOP_) là một mẫu hình lập trình nhằm tăng tính mô đun bằng cách cho phép phân tách những mối quan
SÁCH PYTHON CƠ BẢN Hiện nay ngôn ngữ lập trình bậc cao Python đang nổi lên như một ngôn ngữ lập trình được sử dụng NHIỀU NHẤT trên thế giới. Điều này được giải thích
**Pygame** là một bộ mô-đun Python đa nền tảng được thiết kế để viết trò chơi điện tử. Nó bao gồm đồ họa máy tính và thư viện âm thanh được thiết kế để sử
Trong khoa học máy tính, **reflection** (có thể dịch là "phản tỉnh", "tự xét mình") là việc tiến trình có khả năng xem xét, nội quan, và sửa đổi kết cấu cùng với hành trạng
**Thư viện chuẩn**, tiếng Anh: **standard library**, trong lập trình máy tính là thư viện được cung cấp sẵn thông qua các hiện thực của một ngôn ngữ lập trình. Các thư viện này được
Trong lập trình máy tính, **tầm vực** (tiếng Anh: _scope_) của một ràng buộc tên – liên kết tên với một thực thể, ví dụ như biến – là một vùng của chương trình máy
thumb|Minh họa mã nguồn [[Java (programming language)|Java với comment **mở đầu** được biểu thị bằng màu **đỏ** và comment **nội dòng** bằng màu **lục**. **Mã chương trình** là bằng màu **lam**.]]Trong lập
nhỏ|phải|Biểu tượng hình con thằn lằn đôi khi được các [[lập trình viên dùng trong các chương trình viết bằng ngôn ngữ Lisp.]] **Lisp** là ngôn ngữ lập trình được phát triển từ rất sớm
Trong lập trình máy tính, **callback** là một đoạn code chạy được (thường là một hàm A) được sử dụng như tham số truyền vào của hàm B nào đó. Hàm A được gọi ngay
- Biên soạn nội dung giảng dạy: Xây dựng và chuẩn bị giáo án cho các khóa học lập trình cơ bản và nâng cao. - Giảng dạy: Trực tiếp giảng dạy các lớp lập
Trong lập trình hướng đối tượng, **hàm hủy** (tiếng Anh: _destructor_, viết tắt: _dtor_) là một phương thức được gọi tự động để hủy bỏ một đối tượng. Điều này xảy ra khi thời gian
Tớ học lập trình - Làm quen với Python Sách hướng dẫn lập trình cho các bạn mới học cách dùng ngôn ngữ máy tính Python. Chỉ dẫn từng bước để bạn biết cách lập
**spaCy** ( ) là một thư viện phần mềm mã nguồn mở dành cho xử lý ngôn ngữ tự nhiên nâng cao, được viết bằng hai ngôn ngữ Python và Cython. Thư viện này được
thumb|[[Cây phân tích cú pháp được tạo ra bằng NLTK]] **Natural Language Toolkit** (tạm dịch là **Bộ công cụ Ngôn ngữ Tự nhiên**, hay viết tắt là **NLTK**) là một bộ thư viện và chương
**Python** có thể đề cập đến: *Python (thần thoại), con trăn thần trong Thần thoại Hy Lạp *Python (ngôn ngữ lập trình) *Tên khoa học của chi Trăn *Python (tên lửa) Thể loại:Trang định hướng
Combo 2Q Tớ Học Lập Trình - Làm Quen Với Python Clean code Mã sạch và con đường trở thành lập trình viên giỏi 1.Tớ Học Lập Trình - Làm Quen Với Python Sách hướng
Sách hướng dẫn lập trình cho các bạn mới học cách dùng ngôn ngữ máy tính Python. Chỉ dẫn từng bước để bạn biết cách lập trình, tạo trò chơi, vẽ và làm đủ trò