Tại sao lại là Python?

Các thực tập sinh team WHO chúng em đang tìm hiểu công nghệ để có thể ứng dụng AI giúp hoàn thiện chatbot giúp đỡ chủ cửa hàng bán lẻ, ngôn ngữ chúng em được hướng dẫn để tìm hiểu là Python, em đã tự hỏi là: “Vì sao lại là Python?”. Càng tìm hiểu về nó thì em càng hiểu rõ được lí do vì sao.
Đặc điểm của Python là:

  • Đẹp đẽ tốt hơn xấu xí
  • Minh bạch tốt hơn che đậy
  • Đơn giản tốt hơn phức tạp
  • Phức tạp tốt hơn rắc rối
  • Dễ đọc
    Python là ngôn ngữ lập trình đứng thứ 3 trong các ngôn ngữ được sử dụng phổ biến và đứng đầu tiên trong danh sách ngôn ngữ thích hợp để phát triển AI bởi chúng đượ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, điều này được thể hiện ở rất nhiều điểm:
  1. Cách trình bày
    Nếu mọi người đã từng học qua một ngôn ngữ lập trình nào ví dụ như C hay Pascal trong môn Tin học hồi THCS hay THPT chẳng hạn, mọi người ắt hẳn đã từng không ít lần do thiếu dấu { hay } mà chương trình không thể thực hiện, tuy nhiên trong Python không còn có nỗi lo đó nữa, những câu lệnh trong cùng một khối lệnh (một nhóm các lệnh cũng như các khai báo có vị thế tương đương) sẽ được nhận biết bằng sự tương đương việc thụt đầu dòng, khối lệnh con sẽ thụt vào sâu hơn (về bên phải) so với khối lệnh cha chứa nó
    (*Lưu ý: do trong topic em không tab được nên em biểu diễn việc tab thụt đầu dòng bằng dấu ___)
    Ví dụ trong C 1 chương trình đơn giản để in ra chữ 3 dòng chữ Hello World như sau:
    int main() {
    for (int i=0, i<3, i++)
    {
    printf(“Hello World!”);
    }
    return 0;
    }
    Còn trong Python sẽ chỉ là
    for i in range(0,3)
    ___print (“Hello World”)

Cũng ở ví dụ trên ta có thể dễ dàng nhận ra một ưu điểm nữa của Python, đó chính là nó không yêu cầu dấu ; để thể hiện việc hết một câu lệnh, Python mặc định cứ mỗi một dòng chính là một câu lệnh, nếu câu lệnh của bạn quá dài, bạn có thể thêm các kí tự như {}, (), [],… vào hai đầu của câu lệnh để máy có thể nhận biết được.

Một điểm tiện lợi nữa của Python là việc nó không phải khai báo biến, biến sẽ tự được nhận dạng kiểu, như ví dụ trên, trong C ta phải khai báo biến i là kiểu nguyên (int), còn trong Python ta chỉ đơn giản là cho in chạy từ 0 đến dưới 3, i sẽ tự được nhận dạng là kiểu nguyên.

Hơn nữa, Python còn rất tiện lợi và đơn giản trong việc chạy lệnh, ví dụ như khi ta muốn hoán đổi giá trị của 2 biến a và b. Nếu dùng C hay các ngôn ngữ thông thường khác, ta không thể đổi trực tiếp, mà phải sử dụng biến trung gian như c, để gán c = a, a = b, b = c, còn dùng Python ta chỉ cần đơn giản gõ a, b = b, a. Tiết kiệm được bộ nhớ lẫn thời gian chạy.

  1. Từ khóa
    Python tăng cường sử dụng tiếng Anh, thay vì kí tự cũng như cấu trúc cú pháp. Python phân biệt chữ HOA và chữ thường, và các từ khóa đều ở dạng chữ thường. Cũng có một điều lưu ý là biến không thể đặt trùng tên với từ khóa, nên cẩn trọng khi đặt tên biến, Python có sẵn hàm iskeyword() để kiểm tra xem từ đó có phải từ khóa không cũng như hàm kwlist() để kiểm tra trong một danh sách các từ xem có những từ nào là từ khóa để tránh việc bị đặt nhầm.

  2. Python là trình thông dịch
    Khác với phần nhiều ngôn ngữ khác là trình biên dịch, Python lại là một trình thông dịch. Vậy trình biên dịch và thông dịch khác nhau như thế nào?
    Trình biên dịch là trình dịch chuyển đổi từ ngôn ngữ nguồn thành ngôn ngữ đối tượng (ví dụ như ngôn ngữ máy). Ngược lại với trình biên dịch, trình thông dịch là một chương trình bắt chước việc thực hiện của các chương trình được viết bằng ngôn ngữ nguồn.
    Về cơ bản, trình biên dịch đưa tất cả dòng lệnh vào và biên dịch sang mã trung gian, biên dịch xong sẽ thực thi lệnh, còn trình thông dịch chỉ đưa từng dòng lệnh vào một và biên dịch cùng thực thi một lúc. Điều này dẫn đến trình biên dịch sẽ chạy nhanh hơn tuy nhiên trình thông dịch sẽ tốn ít bộ nhớ hơn, hiển thị lỗi của từng dòng một, phát hiện lỗi cũng dễ hơn.

  3. Module
    Python cho phép chia chương trình thành các module để có thể sử dụng lại trong các chương trình khác. Nó cũng cung cấp sẵn một tập hợp các modules chuẩn mà lập trình viên có thể sử dụng lại trong chương trình của họ. Các module này cung cấp nhiều chức năng hữu ích, như các hàm truy xuất tập tin, các lời gọi hệ thống, trợ giúp lập trình mạng,…

  4. Khả năng mở rộng
    Ta có thể dễ dàng viết và tích hợp vào Python nhiều hàm tùy theo nhu cầu. Các hàm này sẽ trở thành hàm xây dựng sẵn ( built-in ) của Python. Ta cũng có thể mở rộng chức năng của trình thông dịch, hoặc liên kết các chương trình Python với các thư viện chỉ ở dạng nhị phân (như các thư viện đồ họa do nhà sản xuất thiết bị cung cấp). Hơn thế nữa, ta cũng có thể liên kết trình thông dịch của Python với các ứng dụng viết từ C và sử dụng nó như là một mở rộng hoặc một ngôn ngữ dòng lệnh phụ trợ cho ứng dụng đó.

Ngoài những đặc điểm trên, Python là một ngôn ngữ thích hợp với việc phát triển AI bởi các thư viện có sẵn vô cùng hữu ích của nó, như Numpy mang đến khả năng tính toán khoa học (scientific computation), Scypy thì dành cho tính toán tiên tiến (advanced computing) và Pybrain thì dành cho máy học (machine learning) trong Python.

7 Likes

Bài viết đúng tính reflection đó em ạ. Thấy những personal observation trên vấn đề đang tìm hiểu :wink:

1 Like

Anh chúc mừng @anon55281538 đã có một bài viết đầu tiên và chất lượng trên Stories nhé :grinning: :grinning: :grinning:
Một bài viết được trình bày rất cẩn thận, có sự phân tích, quan sát và suy ngẫm để hiểu được sâu hơn về một ngôn ngữ lập trình hơn là những thứ bề ngoài của nó @@@
Anh đọc mà cảm thấy rất “đã”, em viết rất trọng tâm, thẳng thắn và dễ hiểu @@@
Nói chung là anh thấy “hay lắm à nghen” :yum: :yum: :yum:

Một lưu ý nhỏ là: em nên đọc thêm về cách sử dụng Markdown để viết code trong bài viết (mà không cần phải sử dụng dấu ___ để làm tab nữa nhé)


Hy vọng bài viết sau em sẽ tiếp tục giữ phong độ và viết hay hơn nữa. Còn nếu mà giảm phong độ một chút xíu thôi, anh cũng sẽ trừ điểm đó ^^^
Chúc mừng em vì sự nỗ lực cho bài viết đầu tiên nhé :hugs: :hugs: :hugs:

4 Likes

Hnay mới đọc bài của @anon55281538. Chúc mừng em nhé, bài viết hay và dễ hiểu. Hy vọng các em internship team WHO sễ phát triển đúng theo vision của a @anon67481427 :slight_smile: :slight_smile: :slight_smile:

1 Like