Python có cú pháp đơn gi ản và dễ s ử d ụng, do đó nó t rở t hành một trong nh ững ngôn ngữ l ập trì nh nh ập m ôn tố t nh ất cho người mới bắt đầu.. Python có cấu t rúc d ữ li ệu cao c
Trang 1Pyth on là gì ? T ại sao nên ch ọn Pyth on?
Python l à ngôn ng ữ l ập trì nh hướ ng đối t ượng, c ấp cao, m ạnh mẽ, đượ c t ạo
ra bởi Guido van Rossum Python có cú pháp đơn gi ản và dễ s ử d ụng, do đó
nó t rở t hành một trong nh ững ngôn ngữ l ập trì nh nh ập m ôn tố t nh ất cho người mới bắt đầu
Python có cấu t rúc d ữ li ệu cao c ấp m ạnh mẽ và cách ti ếp cận đơn gi ản
nhưng hiệu quả đối với lập trình hướng đối tượng Cú pháp lệnh của Python
là điểm cộng vô cùng lớn vì sự rõ ràng, dễ hiểu và linh động, làm cho nó nhanh chóng t rở t hành m ột ngôn ngữ lý tư ởng để vi ết script và phát t ri ển ứng dụng trong nhiều lĩnh vực, ở hầu hết các nền tảng
Hôm nay, chúng t a s ẽ cùng tìm hi ểu v ề P ython, những ưu đi ểm và khả năng
củ a ngôn ng ữ l ập t rì nh này nhé
Lịch s ử của Python
Python l à m ột ngôn ng ữ lập t rình đượ c t ạo ra bởi Gui do Van Rossum T hi ết
kế bắt đ ầu vào cu ối những năm 1980 và đư ợ c phát hành l ần đ ầu tiên vào tháng 2 năm 1991
Tại sao Pyth on đư ợc tạo ra?
Trang 2Vào cuối nh ững năm 1980, Gui do Van R ossum l àm vi ệc t rong Amoeba,
phân phối một nhóm hệ đi ều hành Ông m u ốn sử dụng m ột ngôn ng ữ t hông
dịch như ABC (ABC có cú pháp r ất d ễ h iểu) để truy c ập vào nh ững cuộ c
gọi h ệ thống Amoeba Vì v ậy, ông quy ết đ ịnh t ạo ra m ột ngôn ng ữ mở rộ ng
Điều này đã dẫn đến một thiết kế của ngôn ngữ mới, chính là Python sau
này
Tại sao l ại có tên l à Python?
Ồ, Python không phải được đặt theo tên của con rắn thần Python trong thần
tho ại Hy Lạp đâu R ossum là fan c ủ a một sê-ri chương t rình hài cu ối những
năm 1970, và cái tên “Python” đư ợc lấy từ tên một phần trong sê-ri đó
“Monty Python’s Flying Circus”
Các phi ên b ản Pyth on đã phát h ành
Python 1.0 (b ản phát hành chu ẩn đầu ti ên)
Python 1.6 (Phi ên b ản 1.x cuối cùng)
01/1994 05/09/2000
Python 2.0 (Gi ới t hiệu list comprehensi on)
Python 2.7 (Phi ên b ản 2.x cuối cùng)
16/10/2000 03/07/2010
Python 3.0 (Lo ại bỏ cấu t rúc và mô -đun t rùng l ặp)
Python 3.8.5 (B ản m ới nh ất tính đ ến thời điểm cập nh ật bài)
03/12/2008 20/07/2020
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 s o s ánh v ới những ngôn ng ữ l ập trì nh khác như C ++, J ava, C# Pyt hon
làm cho vi ệc l ập t rình tr ở nên thú vị , cho phép b ạn t ập t rung 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 P ython, t h ậm chí l à dùng nó cho
mục đí ch t hương m ại Vì Python là ứng d ụng m ã nguồn mở, b ạn không
Trang 3những có th ể s ử dụng các ph ần m ềm , chương t rình đư ợ c viết t rong Pyt hon
mà còn có t h ể 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 t rên hầu h ết t ất cả các n ền t ảng như Windows, macOS , Linux
Khả năng m ở rộn g 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ó t hể 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ó t h ể 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ó t h ể l àm đượ c
Ngôn ngữ thôn g 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 Pyt hon, nó s ẽ t ự động chuy ển đổi code s ang ngôn ng ữ m áy tính
có th ể hi ểu B ạn không cần l o l ắng v ề bất kỳ ho ạt động ở cấp t hấ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 t hư 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 MyS QL t rên Web s erver? B ạn có t hể nhập t hư vi ện MySQLdb và s ử dụng nó Những thư vi ện này đượ c kiểm t ra
kỹ lưỡng và đượ c sử dụng bởi hàng t ră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 t hứ trong P ython đ ều là hư ớng đối t ượng Lập t rì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
Trang 4Với OOP , b ạn có t hể phân chia nh ững v ấn đ ề p hức t ạp thành nh ững t ập nh ỏ hơn bằng cách tạo ra các đối tượng
Python được dùng ở đâu?
Lập trình ứng dụn g web
Bạn có th ể t ạo web app có kh ả năng m ở rộng (s cal abl e) đư ợc bằng cách s ử dụng fram ework và CMS (H ệ thống qu ản trị nội dung) đượ c tí ch hợp trong Python Vài n ền tảng phổ bi ến đ ể t ạo web app l à: Dj ango, Flas k, Pyramid, Plone, Django CMS Các trang như Mozilla, Reddit, Instagram và PBS đ ều được viết bằng Python
Khoa học và tính toán
Có nhiều thư viện t rong P ython cho khoa h ọc và tính toán s ố l iệu, như SciPy và NumPy, được sử dụng cho những mục đích chung chung trong tính toán Và, có nh ững t hư vi ện cụ th ể như: EarthP y cho khoa h ọ c t rái đ ất , Ast roPy cho Thi ên văn h ọc, Ngoài ra, Python còn đư ợc sử dụng nhi ều trong m achine learni ng, khai t hác d ữ li ệu và deep l earning
Tạo ngu yên m ẫu ph ần mềm
Python ch ậm hơn khi so sánh v ới các ngôn ng ữ đượ c bi ên dịch như C ++ và Java Nó có t h ể không ph ải là lựa ch ọn tố t n ếu ngu ồn l ực bị gi ới h ạn và yêu cầu về hi ệu qu ả l à bắt buộ c Tuy nhi ên, P ython l à ngôn ng ữ t uyệt vời đ ể t ạo những nguyên m ẫu (bản ch ạy t hử - protot ype) Ví d ụ , b ạn có t hể sử dụ ng Pygame (thư viện viết game) để tạo nguyên mẫu game trước Nếu thích nguyên m ẫu đó có th ể dùng C ++ đ ể vi ết gam e th ực s ự
Ngôn ngữ tốt đ ể d ạ y lập trình
Python được nhiều công ty, trường học sử dụng để dạy lập trình cho trẻ em
và nh ững người mới lần đ ầu học l ập trì nh Bên c ạnh nh ững tính năng và khả năng tuyệt vời thì cú pháp đơn giản và d ễ sử dụ ng củ a nó là l ý do chính cho vi ệc này
4 lý do để học Python nếu bạn mới làm quen với lập trình
Cú pháp đơn giản:
Trang 5Lập t rình b ằng Pyt hon r ất thú vị Nó d ễ dàng đ ể h iểu và code b ằng Pyt hon Tại s ao? Cú pháp c ủa Pyt hon khá gi ố ng v ới ngôn ng ữ t ự nhiên, ví d ụ như đoạn code dưới đây:
a = 2
b = 3
sum = a + b
print(s um )
Ngay c ả khi chưa l ập trì nh bao gi ờ, bạn có th ể dễ dàng đoán được đo ạn code này t hêm vào hai s ố a, b, tính t ổ ng và in t ổng của chúng
Không quá kh ắ t kh e:
Bạn không c ần xác đ ịnh kiểu củ a m ột bi ến trong Pyt hon, không c ần thêm dấu ch ấm phẩy vào cuối câu l ệnh P ython bu ộ c b ạn tuân theo nh ững bài tập
có sẵn (như chỉ d ẫn đúng) Đi ều nh ỏ nhặt này giúp cho vi ệc h ọc P ython d ễ dàng v ới ngư ời mới hơn r ất nhi ều
Viết cod e ít hơn :
Python cho phép vi ết nh ững chươ ng trì nh có nhi ều chức năng t ốt hơn v ới ít dòng code hơn Bạn có thể tham khảo mã nguồn game Tic-tac-toe
(pastebin.com/ 7LTkj 2V5 ) v ới giao di ện đ ồ họ a và đố i th ủ m áy tính thông
minh m à ch ỉ chưa đ ến 500 dòng code Đây ch ỉ l à m ột ví d ụ B ạn có th ể sẽ ngạc nhi ên v ề n hữ ng gì m à P ython có th ể làm được khi tìm hi ểu sâu hơn v ề
nó
Cộng đồng lớn , hỗ trợ tốt:
Python có m ột cộng đồng hỗ trợ rộng lớ n, có nhi ều diễn đàn hoạt độ ng t rực tuy ến giúp b ạn khi b ị mắc kẹt vớ i v ấn đ ề nào đó t rong Pyt hon:
https:/ /www.reddit.com/r/l earnpython/
https:/ /groups.google.com/forum/#!forum/ com p.l ang.python
https:/ /st ackoverfl ow.com/tags/ python
Trang 6Trong chuyên m ụ c này, Quản t rị m ạng s ẽ tổng hợ p l ại nh ững t ài li ệu cơ b ản
về P ython, hy v ọ ng có th ể giúp b ạn bướ c đầu l àm quen v ới ngôn ng ữ lập trình đang ngày càng trở nên phổ biến này Các bạn chú ý theo dõi nhé