Python là gì? Có nên học ngôn ngữ Python hay không?

28/07/2019    4.766    4.81/5 trong 10 lượt 
Python là gì? Có nên học ngôn ngữ Python hay không?
Sau một thời gian mày mò và học hỏi thì giờ mình đang bắt đầu cảm thấy thích ngôn ngữ lập trình mới Python nay, trong bài này mình giới thiệu khái niệm Python là gì, lịch sử ra đời ngôn ngữ Python cũng như các tính năng của Python để bạn quyết định có nên theo học nó hay không nhé!

Python là gì?

Python là một ngôn ngữ lập trình bậc cao cho các mục đích lập trình đa năng, do Guido van Rossum tạo ra và lần đầu ra mắt vào năm 1991. Python được thiết kế với ưu điểm mạnh là dễ đọc, dễ học và dễ nhớ. Python là ngôn ngữ có hình thức rất sáng sủa, cấu trúc rõ ràng, thuận tiện cho người mới học lập trình. Theo Wikipedia
 
Nó dễ dàng để tìm hiểu và đang nổi lên như một trong những ngôn ngữ lập trình nhập môn tốt nhất cho người lần đầu tiếp xúc với ngôn ngữ lập trình. Được đặt theo tên một nhóm hài kịch và nổi tiếng với cú pháp đơn giản và thanh lịch, Python được sử dụng cho nhiều loại ứng dụng từ các trò game đơn giản đến các thuật toán tìm kiếm phức tạp. Python luôn nằm trong top 10 ngôn ngữ lập trình phổ biến nhất ở tất cả các bảng xếp hạng lớn (TIOBE, RedMonk, PYPL), đó là một minh chứng mạnh mẽ để tuyên bố rằng Python có tốc độ rất nhanh, mạnh mẽ và có mặt ở khắp mọi nơi.
 
Top 10 ngôn ngữ lập trình 2019
Top 10 ngôn ngữ lập trình yêu thích 2019

Python mới nhất là gì?

Sự phát triển Python đến nay có thể chia làm các giai đoạn:

Python 1:

Bao gồm các bản phát hành 1.x. Giai đoạn này, kéo dài từ đầu đến cuối thập niên 1990. Từ năm 1990 đến 1995, Guido làm việc tại CWI (Centrum voor Wiskunde en Informatica - Trung tâm Toán-Tin học tại Amsterdam, Hà Lan). Vì vậy, các phiên bản Python đầu tiên đều do CWI phát hành. Phiên bản cuối cùng phát hành tại CWI là 1.2.
Vào năm 1995, Guido chuyển sang CNRI (Corporation for National Research Initiatives) ở Reston, Virginia. Tại đây, ông phát hành một số phiên bản khác. Python 1.6 là phiên bản cuối cùng phát hành tại CNRI.
Sau bản phát hành 1.6, Guido rời bỏ CNRI để làm việc với các lập trình viên chuyên viết phần mềm thương mại. Tại đây, ông có ý tưởng sử dụng Python với các phần mềm tuân theo chuẩn GPL. Sau đó, CNRI và FSF (Free Software Foundation - Tổ chức phần mềm tự do) đã cùng nhau hợp tác để làm bản quyền Python phù hợp với GPL. Cùng năm đó, Guido được nhận Giải thưởng FSF vì Sự phát triển Phần mềm tự do (Award for the Advancement of Free Software).
Phiên bản 1.6.1 ra đời sau đó là phiên bản đầu tiên tuân theo bản quyền GPL. Tuy nhiên, bản này hoàn toàn giống bản 1.6, trừ một số sửa lỗi cần thiết.

Python 2:

Vào năm 2000, Guido và nhóm phát triển Python dời đến BeOpen.com và thành lập BeOpen PythonLabs team. Phiên bản Python 2.0 được phát hành tại đây. Sau khi phát hành Python 2.0, Guido và các thành viên PythonLabs gia nhập Digital Creations.
Python 2.1 ra đời kế thừa từ Python 1.6.1 và Python 2.0. Bản quyền của phiên bản này được đổi thành Python Software Foundation License. Từ thời điểm này trở đi, Python thuộc sở hữu của Python Software Foundation (PSF), một tổ chức phi lợi nhuận được thành lập theo mẫu Apache Software Foundation.

Python 3, còn gọi là Python 3000 hoặc Py3K:

Dòng 3.x sẽ không hoàn toàn tương thích với dòng 2.x, tuy vậy có công cụ hỗ trợ chuyển đổi từ các phiên bản 2.x sang 3.x. Nguyên tắc chủ đạo để phát triển Python 3.x là "bỏ cách làm việc cũ nhằm hạn chế trùng lặp về mặt chức năng của Python". Trong PEP (Python Enhancement Proposal) có mô tả chi tiết các thay đổi trong Python. Bản mới nhất khi mình viết bài này là 3.7.4, phát hành ngày 08/07/2019 (https://www.python.org/downloads/)

Triết lý của Python

Triết lý căn bản của ngôn ngữ Python được trình bày trong tài liệuThe Zen of Python hay còn gọi là triết lý Thiền (Zen) tóm gọn như sau:
- Đẹ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
Chính sự gần gũi của Python với ngôn ngữ của con người khiến nhiều trường học, đại học và các trung tâm đào tạo sử dụng nó là ngôn ngữ lập trình để giảng dạy cho những người mới bắt đầu trong các lớp học về khoa học máy tính. Ngày nay, tình yêu dành cho Python có mặt ở khắp mọi nơi, từ các lập trình viên hàng đầu thế giới cho đến các cậu bé mới học lập trình như Caolan Fleming ở Ireland, cậu đã tự học Python để xây dựng ứng dụng từ hồi 9 tuổi.

Từ khóa của Python

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 nên các lập trình viên cần chú ý bảng từ khóa này để không bị lỗi chương trình,
Như C/C++, các từ khóa của Python đều ở dạng chữ thường bao gồm: 
and exec not
assert finally or
break for pass
class from print
continue global raise
def if return
del import try
elif in while
else is with
except lambda yield
 

Tính năng chính của Python

Ngôn ngữ lập trình đơn giản, dễ học

Python có cú pháp rất đơn giản, rõ ràng. Nó dễ đọc và viết hơn rất nhiều khi so sánh với những ngôn ngữ lập trình khác như C++, Java, C#. Python làm cho việc lập trình trở nên thú vị, cho phép bạn tập trung vào những giải pháp chứ không phải cú pháp.

Miễn phí, mã nguồn mở

Bạn có thể tự do sử dụng và phân phối Python, thậm chí là dùng cho mục đích thương mại. Vì là mã nguồn mở, bạn không những có thể sử dụng các phần mềm, chương trình được viết trong Python mà còn có thể thay đổi mã nguồn của nó. Python có một cộng đồng rộng lớn, không ngừng cải thiện nó mỗi lần cập nhật.

Khả năng di chuyển

Các chương trình Python có thể di chuyển từ nền tảng này sang nền tảng khác và chạy nó mà không có bất kỳ thay đổi nào. Nó chạy liền mạch trên hầu hết tất cả các nền tảng như Windows, macOS, Linux.

Khả năng mở rộng và có thể nhúng

Giả sử một ứng dụng đòi hỏi sự phức tạp rất lớn, bạn có thể dễ dàng kết hợp các phần code bằng C, C++ và những ngôn ngữ khác (có thể gọi được từ C) vào code Python. Điều này sẽ cung cấp cho ứng dụng của bạn những tính năng tốt hơn cũng như khả năng scripting mà những ngôn ngữ lập trình khác khó có thể làm được.

Ngôn ngữ thông dịch cấp cao

Không giống như C/C++, với Python, bạn không phải lo lắng những nhiệm vụ khó khăn như quản lý bộ nhớ, dọn dẹp những dữ liệu vô nghĩa,... Khi chạy code Python, nó sẽ tự động chuyển đổi code sang ngôn ngữ máy tính có thể hiểu. Bạn không cần lo lắng về bất kỳ hoạt động ở cấp thấp nào.

Thư viện tiêu chuẩn lớn để giải quyết những tác vụ phổ biến

Python có một số lượng lớn thư viện tiêu chuẩn giúp cho công việc lập trình của bạn trở nên dễ thở hơn rất nhiều, đơn giản vì không phải tự viết tất cả code. Ví dụ: Bạn cần kết nối cơ sở dữ liệu MySQL trên Web server? Bạn có thể nhập thư viện MySQLdb và sử dụng nó. Những thư viện này được kiểm tra kỹ lưỡng và được sử dụng bởi hàng trăm người. Vì vậy, bạn có thể chắc chắn rằng nó sẽ không làm hỏng code hay ứng dụng của mình.

Hướng đối tượng

Mọi thứ trong Python đều là hướng đối tượng. Lập trình hướng đối tượng (OOP) giúp giải quyết những vấn đề phức tạp một cách trực quan. Với OOP, bạn có thể phân chia những vấn đề phức tạp thành những tập nhỏ hơn bằng cách tạo ra các đối tượng.

Trả lời câu hỏi có nên học Python hay không?

Khi bạn đọc đến đây thì bạn đã biết mình có nên học ngôn ngữ này hay không rồi phải không? Đặc biệt nếu bạn đang theo ngành Khoa học dữ liệu, Trí tuệ nhân tạo. Bởi vì khi làm điều đó, chắc chắn nó sẽ mang lại nhiều niềm vui cho ví tiền của bạn, cho các nhà tuyển dụng CNTT, và cho cả thế giới này.

Tài liệu học và thực hành Python miễn phí

1. Python cơ bản (PDF tiếng Việt) - Võ Duy Tuấn

Tài liệu này mình sưu tầm và chưa kiểm định, share các bạn cùng học. Dù sao tiếng Việt học cũng dễ và nhanh hơn.
Tải tài liệu tại đây

2. Python cơ bản online https://www.sololearn.com/Play/Python

Đây là trang web mình đang theo học, bạn chỉ cần đăng ký tài khoản là học thôi. Hoàn toàn miễn phí.
Kiến thức rất cơ bản và dễ học, kể cả bạn chưa biết gì về lập trình cũng học được

3. Làm quen Python https://python.swaroopch.com

Tài liệu Python siêu dễ, siêu cơ bản:
- Dành cho người hoàn toàn chưa có kiến thức gì về lập trình.
- Cung cấp các chỉ dẫn và tutorial để bước đầu làm quen với ngôn ngữ lập trình Python.

4. https://automatetheboringstuff.com

Bạn từng khổ sở bỏ ra hàng giờ đồng hồ để đặt tên files, hoặc update hàng trăm dòng spreadsheet? Vậy thì, hãy để máy móc làm thay cho bạn!
Tài liệu Python hết sức thực tế này sẽ giúp bạn giải quyết gọn núi việc lẽ ra ngốn hàng tiếng đồng hồ chỉ trong vòng vài phút.

5. Hướng dẫn lập trình game miễn phí (.PDF) Making Gamespdf

Nhiều sách lập trình dành cho beginner chỉ đưa ra lý thuyết và các công cụ, mà quên hướng dẫn người đọc cách ứng dụng những kiến thức đó vào thực tế.
Hướng dẫn cách viết các game nhỏ, tương tác dòng lệnh rất thú vị, giống như các game trên nền DOS ngày xưa
Giải thích chi tiết, cặn kẽ, cực kì dễ hiểu và áp dụng ngay cả với học sinh 10-12 tuổi
 
 
Ngoài ra Youtube cũng có khá nhiều video hướng dẫn, do Nha cũng đang học nên có thể thời gian tới Nha học tới đâu sẽ ghi video tới đó để mọi người cùng học. Hãy theo dõi tại blog này để có bài mới thường xuyên nhé.

Những câu hỏi thường gặp

1. Python đọc (phát âm) thế nào?

Theo phiên âm tiếng Anh thì Python là /ˈpɑɪ.ˌθɑːn/. Tạm phát âm là pái thần hơi nhấn từ pai một chút, còn mình hay đọc là pai thân và cũng hay nghe bạn bè đọc là pai thân.

2. Python là ngôn ngữ lập trình hướng đổi tượng phải không?

Chính xác, Python là ngôn ngữ lập trình hướng đối tượng (OOP). Lập trình hướng đối tượng giúp giải quyết những vấn đề phức tạp một cách trực quan.

3. Học Python thì làm được những gì?

Python có thể ứng dụng vào rất nhiều thứ như lập trình website, ứng dụng máy tính, đặc biệt là lập trình máy học (Machine Learning), Trí tuệ nhân tạo (AI), Khoa học dữ liệu (Data Science). Hầu hết các khóa học về Machine Learning, Data Analytics đều sẽ sử dụng Python.

4. Python là miễn phí phải không?

Đúng rồi, Python là hoàn toàn miễn phí vì là mã nguồn mở. Nhưng khi sử dụng bạn cũng phải tuân theo quy định của mã nguồn mở nhé!

5. Học Python ở đâu?

Bạn có thể học Python qua rất nhiều website dạy học miễn phí và ngay trong chính bài viết này Nha cũng giới thiệu cho bạn nhiều tài liệu để học, cả tài liệu tiếng Việt. Ngoài ra cứ theo dõi blog của Nha là https://thanhnha.xyz để được cập nhật bài mới về Python thường xuyên.

Cảm ơn bạn đã đọc hết bài viết!

Nha thân tặng bộ source code blog này cho những ai quan tâm.

Bình luận