Hiện nay ngôn ngữ lập trình Python ngày càng vươn lên hàng top, nhu cầu tuyển dụng cũng khá lớn. Để đáp ứng nhu cầu của các bạn Tui đã lên kế hoạch viết các bài hướng dẫn từng bước phương pháp và kỹ thuật học lập trình Python hi vọng sẽ giúp ích một xíu gì đó cho độc giả.Phần giới thiệu về Python cũng như các đặc tính của nó là giống nhau trên các trang mạng khi bạn tìm kiếm thấy, vì vậy Tui có tổng hợp lại đây giúp các bạn có thể dễ dàng đọc qua để hiểu thêm về Python. Cám ơn các tác giả trên Internet mà Tui đã tìm đọc được.1.Giới thiệu khái quát về PythonPython là một ngôn ngữ lập trình năng động với nhiều tính năng được sử dụng trong một loạt các ứng dụng. Hình 1 Logo Ngôn ngữ python Python thường được so sánh với Tcl, Perl, Ruby, Scheme, hoặc Java. Một vài tính năng đặc trưng của nó gồm:Cú pháp rất trong sáng, dễ đọcCác khả năng tự xét mạnh mẽHướng đối tượng trực giácCách thể hiện tự nhiên mã thủ tụcHoàn toàn môđun hóa, hỗ trợ các gói theo cấp bậcXử lý lỗi dựa theo ngoại lệKiểu dữ liệu động ở mức rất caoCác thư viện chuẩn và các môđun ngoài bao quát hầu như mọi việcphần mở rộng và môđun dễ dàng viết trong C, C++ (hoặc Java cho Jython, hoặc các ngôn ngữ .NET cho IronPython)có thể nhúng trong ứng dụng như một giao diện kịch (scripting interface)Python mạnh mẽ và thực hiện nhanhBản thân ngôn ngữ Python là một nhà máy linh động có thể giải quyết hầu hết mọi vấn đề. Dễ dàng viết máy chủ web. Viết mã theo hướng dữ liệu với khả năng tự xét mạnh mẽ và khả chuyển và những tính năng như metaclasses, duck typing và decorators của Python.Python giúp ta viết mã lệnh nhanh chóng. Nhờ vào trình biên dịch đã được tối ưu hóa, và những thư viện hỗ trợ, mã Python chạy nhanh hơn đa số các ứng dụng khác.Python dễ dàng kết nối với các thành phần khácPython có thể kết nối với các đối tượng COM, .NET (Ironpython, Python for .net), và CORBA, java… Python cũng được hỗ trợ bởi Internet Communications Engine (ICE) và nhiều công nghệ kết nối khác.Có thể viết các thư viện bên C, C++ để nhúng vào Python và ngược lại.Python là ngôn ngữ có khả năng chạy đa nền tảngPython có cho mọi hệ điều hành: Windows, LinuxUnix, OS2, Mac, Amiga, và những hệ khác. Thậm chí có cả những phiên bản chạy trên .NET, máy ảo Java, và điện thoại di động Nokia Series 60. Với cùng một mã nguồn sẽ chạy không khác nhau trên mọi cài đặt.Python rất đơn giản và dễ họcPython có cộng đồng lập trình rất lớn, được chia sẻ rất nhiều thông tin hữu ích.Python cũng có kho tài liệu đầy đủ, vừa tồn tại trong bản thân ngôn ngữ lẫn trên mạng. Những tài liệu trên mạng nhắm vào cả lập trình viên chuyên nghiệp lẫn người mới. Tất cả đều được thiết kế nhằm giúp bạn sản xuất nhanh hơn.Python là ngôn ngữ mã nguồn mởCài đặt Python dùng giấy phép nguồn mở nên được sử dụng và phân tối tự do, ngay cả trong việc thương mại. Giấy phép Python được quản lý bởi Python Software Foundation.
Trang 1Lập trình Python
Bài 01: Có nên học lập trình Python?
Hiện nay ngôn ngữ lập trình Python ngày càng vươn lên hàng top, nhu cầu tuyển dụng cũng khá lớn Để đáp ứng nhu cầu của các bạn Tui đã lên kế hoạch viết các bàihướng dẫn từng bước phương pháp và kỹ thuật học lập trình Python hi vọng sẽ giúp ích một xíu gì đó cho độc giả
Phần giới thiệu về Python cũng như các đặc tính của nó là giống nhau trên các trang mạng khi bạn tìm kiếm thấy, vì vậy Tui có tổng hợp lại đây giúp các bạn có thể dễ dàng đọc qua để hiểu thêm về Python Cám ơn các tác giả trên Internet mà Tui đã tìm đọc được
1 Giới thiệu khái quát về Python
Python là một ngôn ngữ lập trình năng động với nhiều tính năng được sử dụng trongmột loạt các ứng dụng
Hình 1- Logo Ngôn ngữ python
Python thường được so sánh với Tcl, Perl, Ruby, Scheme, hoặc Java Một vài tính năng đặc trưng của nó gồm:
Cú pháp rất trong sáng, dễ đọc
Các khả năng tự xét mạnh mẽ
Hướng đối tượng trực giác
Cách thể hiện tự nhiên mã thủ tục
Trang 2 Hoàn toàn mô-đun hóa, hỗ trợ các gói theo cấp bậc
Xử lý lỗi dựa theo ngoại lệ
Kiểu dữ liệu động ở mức rất cao
Các thư viện chuẩn và các mô-đun ngoài bao quát hầu như mọi việc
phần mở rộng và mô-đun dễ dàng viết trong C, C++ (hoặc Java cho Jython, hoặc các ngôn ngữ NET cho IronPython)
có thể nhúng trong ứng dụng như một giao diện kịch (scripting interface)
Python mạnh mẽ và thực hiện nhanh
Bản thân ngôn ngữ Python là một nhà máy linh động có thể giải quyết hầu hết mọi vấn đề Dễ dàng viết máy chủ web Viết mã theo hướng dữ liệu với khả năng tự xét mạnh mẽ và khả chuyển và những tính năng như meta-classes, duck typing và decorators của Python
Python giúp ta viết mã lệnh nhanh chóng Nhờ vào trình biên dịch đã được tối ưu hóa, và những thư viện hỗ trợ, mã Python chạy nhanh hơn đa số các ứng dụng khác
Python dễ dàng kết nối với các thành phần khác
Python có thể kết nối với các đối tượng COM, NET (Ironpython, Python for net),
và CORBA, java… Python cũng được hỗ trợ bởi Internet Communications Engine (ICE) và nhiều công nghệ kết nối khác
Có thể viết các thư viện bên C, C++ để nhúng vào Python và ngược lại
Python là ngôn ngữ có khả năng chạy đa nền tảng
Python có cho mọi hệ điều hành: Windows, Linux/Unix, OS/2, Mac, Amiga, và những hệ khác Thậm chí có cả những phiên bản chạy trên NET, máy ảo Java, và điện thoại di động Nokia Series 60 Với cùng một mã nguồn sẽ chạy không khác nhau trên mọi cài đặt
Trang 3Python có cộng đồng lập trình rất lớn, được chia sẻ rất nhiều thông tin hữu ích.
Python cũng có kho tài liệu đầy đủ, vừa tồn tại trong bản thân ngôn ngữ lẫn trên mạng Những tài liệu trên mạng nhắm vào cả lập trình viên chuyên nghiệp lẫn ngườimới Tất cả đều được thiết kế nhằm giúp bạn sản xuất nhanh hơn
Python là ngôn ngữ mã nguồn mở
Cài đặt Python dùng giấy phép nguồn mở nên được sử dụng và phân tối tự do, ngay
cả trong việc thương mại Giấy phép Python được quản lý bởi Python Software Foundation
2 Các tài nguyên học liệu và công cụ lập trình Python
Hiện có rất nhiều tài nguyên học tập Python
Tài liệu Tiếng Anh:
Learn Python The Hardway: https://learnpythonthehardway.org/
https://www.codementor.io/learn-python- Tài liệu Tiếng Việt:
Việt Python: http://www.vithon.org/
Fundamentals of Programming Python- Richard L Halterman
Learn Python the Hard Way, 3rd Edition
3
Trang 4 Python and Tkinter Programming, John E Grayson
Professional IronPython – John Paul Mueller
Python Tools for Visual Studio, Martino Sabia, Cathy Wang
3 Hiện trạng sử dụng Python làm ngôn ngữ đào tạo trên thế giới
Hiện nay ngôn ngữ Python được xếp hạng thứ 3 trong Top 10 các ngôn ngữ lập trìnhphổ biến nhất đang sử dụng:
Hình 2 – xếp hạng ngôn ngữ lập trình – 2016, nguồn http://spectrum.ieee.org/
Trang 5Hình 3- Thống kế trường giảng dạy Python- nguồn viblo.asia
Python cũng là 1 ngôn ngữ hướng đối tượng, và cũng đồng thời là 1 ngôn ngữ động,
nó được trang bị những thư viện tiêu chuẩn khổng lồ : từ web, xử lý số học, đến cả lập trình đồ hoạ Python được sử dụng rộng rãi trong sản xuất, khoa học, hay giáo dục và ngày càng trở nên phổ biến và hoàn thiện
5 Các Website tham khảo cho phần giới thiệu này
http://www.vithon.org/gioi-thieu-python
https://viblo.asia
https://spectrum.ieee.org
5
Trang 6 https://vi.wikipedia.org/wiki/Python_(ng%C3%B4n_ng%E1%BB%AF_l
%E1%BA%ADp_tr%C3%ACnh)
Cám ơn các tác giả
Trang 7Bài 02 Cách tải và cài đặt Python
Ở bài 01 Tui đã giới thiệu sơ lược về Python cũng như các đặc tính của nó, trong bài
02 này Tui sẽ hướng dẫn các bạn cách tải và cài đặt Python (Tui sử dụng Windows
10 Pro, 64bit Nếu các bạn sử dụng Hệ điều hành khác thì không sử dụng phiên bản hướng dẫn dưới này nha)
1 Cách tải Python:
Để tải Python các bạn vào: https://www.python.org/downloads/
Ở màn hình download trên, các bạn chọn “Download Python 3.5.2“, dĩ nhiên lúc cácbạn đọc hướng dẫn này thì nó có thể là ra Version khác rồi, lúc đó hãng đề nghị version nào thì các bạn cứ chọn tải
7
Trang 8Lúc bạn nhấn vào nút tải ở trên thì ra cửa sổ sau:
Bạn chọn nơi lưu trữ python-3.5.2.exe rồi nhấn Save, chờ hệ thống tải về, bạn xem kết quả:
Trang 9Ở hình trên bạn thấy Tui tả được python-3.5.2.exe có dung lượng hơn 28MB
2 Cách cài đặt Python:
Để cài đặt Python, bạn nhấn đúp vào tập tin python-3.5.2.exe vừa tải xong, nếu có hỏi gì về bảo mật thì nhấn Run:
9
Trang 10Sau đó màn hình chọn cấu hình để cài đặt sẽ hiển thị ra như dưới đây:
Các bạn chọn cấu hình như chỗ Tui khoanh đỏ, rồi bấm Install Now hoặc Customizeinstallation (thông thường ta nên chọn Customize installation để chọn chỗ cài đặt khác cho đơn giản (ví dụ ta lưu vào C:\python, thay vì có nguyên 1 nùi đường dẫn lưu hình trên) Giờ Tui chọn Customize Installation:
Trang 11Bạn chọn các cấu hình như trên rồi bấm Next:
Ở hình trên bạn chọn cấu hình giốn vậy, chỗ nơi cài đặt chọn là ổ C (Tui để là Python352 để Tui nhớ là Tui cài Python phiên bản 3.5.2 và cũng vì nó có nhiều version để dễ phân biệt), sau đó bấm Install:
11
Trang 12Các bạn chờ chương trình Python cài đặt xong nha(chỗ này chờ hơi lâu), khi nào báocửa sổ bên dưới coi như là cài đặt OK:
Bạn kiểm tra ổ C ta có kết quả sau khi cài đặt:
Trang 13Như vậy Tui đã hướng dẫn xong cách tải và cài đặt Python vào máy tính Windows
13
Trang 14Bài 03 Giới thiệu một số công cụ lập trình Python
Ở bài số 02 Tui đã hướng dẫn bạn cách tải và cài đặt xong Python, trong bài này Tui
sẽ trình bày một số công cụ dùng để lập trình Python Có rất nhiều công cụ để ta lập trình Python, tuy nhiên trong loạt bài viết Tui sẽ sử dụng PyCharm Community Edition (sau khi giới thiệu xong các công cụ có thể lập trình được Python)
1) Công cụ lập trình chính thống giáo khi cài đặt Python:
Đó chính là công cụ IDLE khi bạn cài đặt xong Python (bạn vào Start, tìm tới
Python mà bạn đã cài đặt):
Ở màn hình trên các bạn có thể thấy máy của Tui có 2 IDLE (64+ 32), Tui test thử chạy bản nào cũng OK (Chưa test hết) Bạn nhấn chọn nó để khởi động phần mềm soạn thảo coding Python (nên đưa ra màn hình desktop nếu bạn sử dụng nó thường xuyên), khi khởi động mặc định Python Power Shell sẽ xuất hiện như hình dưới đây:
Trang 15Ta có thể gõ các lệnh trực tiếp vào trong màn hình này (có thể nói nó giống như 1 máy tính):
15
Trang 16Hình trên Tui thử nhập các giá trị : a, b, c và xuất ra màn hình, đồng thời thử tạo mộtchuỗi và xuất ra cũng được.
Ngoài ra ta cũng có thể tạo File để soạn thảo bằng cách vào File/ chọn New File:
Sau khi nhấn New, màn hình soạn thảo hiện ra như dưới đây:
Trang 17Ở hình trên ta thấy mặc định là “Untitled”, ta thử soạn thảo một số lệnh như trong hình rồi lưu lại với test “first.py” py là phần mở rộng của Python:
Ở màn hình trên Tui lưu vào ổ E:/LearnPython rồi nhấn Save:
17
Trang 19Tương tự để chạy các file mã nguồn khác ta có thể vào File/ Open để chọn file mã nguồn.
Trang 203) Công cụ lập trình PyCharm:
Đây là công cụ rất nổi tiếng, rất quen thuộc đặc biệt với những ai đã lập trình
Android Studio
Hiện hãng cho sử dụng bản miễn phí PyCharm Community
Edition: https://www.jetbrains.com/pycharm/ (kéo xuống gần dưới cùng sẽ có màn hình tải)
Ta thấy có nhiều giới hạn trong bản miễn phí (Community) như là không có lập trìnhWeb Còn bản Professional thì có đầy đủ và cho sử dụng thử 30 ngày nhé các bạn.Hoặc bạn có thể vào
link: https://www.jetbrains.com/pycharm/download/#section=windows
Trang 21Chúng ta chọn Download bản Community (Tui trỏ màu đỏ) tải về máy rồi tiến hành cài đặt, và nên đưa ra màn hình Desktop để ta sử dụng (vì đây là công cụ Tui sẽ sử dụng cho toàn bộ các bài học):
Ta khởi động phần mềm PyCharm lên sẽ có giao diện đầu tiên như sau:
21
Trang 22Các bạn thấy tính tới thời điểm Tui viết bài này thì version mới nhất là 2016.2.3.
Như vậy tới đây Tui đã giới thiệu cho các bạn 3 công cụ lập trình Python (ngoài ra còn rất rất nhiều các công cụ lập trình Python khác nữa, các bạn có thể tìm hiểu thêm trên mạng
Bài sau Tui sẽ hướng dẫn chi tiết cách sử dụng công cụ PyCharm (cách tạo Project, chọn Python version, cách tạo tập tin Python, cách soạn thảo cũng như thực thi source code), các bạn chú ý theo dõi
Trang 23Bài 04: Tạo Project Python trong PyCharm
Ở bài 03 Tui đã giới thiệu một số công cụ lập trình Python Trong bài này Tui sẽ hướng dẫn cách tạo Project Python trong công cụ PyCharm, nếu bạn nào chưa biết cách tải và cài đặt công cụ PyCharm thì xem lại bài 03 nhé
Khi khởi động JetBrains PyCharm Community Edition, ta sẽ có giao diện sau:
Ở màn hình trên các bạn chọn Create New Project:
23
Trang 24Vị trí 1 – Location: Chọn nơi lưu trữ Projecct
Vị trí 2 – Interpreter: Chọn trình thông dịch Python, ở đây Tui cài 2 phiên bản thì
nó ra 2 phiên bản
Vị trí 3- Create: Nhấn vào để tạo Project
Sau khi nhấn Create, PyCharm sẽ tạo cấu trúc Project mặc định ban đầu như sau:
Trang 25Để tạo tập tin Python: Ta bấm chuột phải vào Project HelloWorld/ chọn New/ Python File:
Sau khi nhấn Python File, màn h ình New Python file hiển thị ra như dưới đây:
25
Trang 26Ta tiến hành đặt tên File, loại file là Python file rồi nhấn nút OK, tập
tin FirstProject.py sẽ được hiển thị như dưới đây (py là mở rộng của các tập tin mã nguồn Python):
Ở trong tập tin FirstProject.py, Tui có gõ dòng lệnh:
print("Xin Chào các Thím! tui là Python nè!")
Lệnh trên dùng để xuất một chuỗi ra màn hình
Để chạy mã tập tin FirstProject.py, các bạn vào Run/chọn Run
Trang 27Các bạn thấy sau khi chúng ta chọn Run, PyCharm sẽ xuất kết quả như bên dưới chỗTui khoanh tròn màu đỏ.
Như vậy tới đây Tui đã hướng dẫn xong cách tạo Project Python trong PyCharm cũng như cách tạo Tập tin Python, viết lệnh xuất ra màn hình và thực thi các mã lệnhnhư thế nào, các bạn nhớ xem lại bài và cố gắng thực hiện được bài học này nhé
Bài sau Tui sẽ trình bày về các kiểu dữ liệu cũng như cách thức đặt tên biến trong Python, các bạn chú ý theo dõi
27
Trang 28Bài 05: Kiểu dữ liệu cơ bản và khai báo biến
trong Python
1 Các kiểu dữ liệu cơ bản trong Python:
Kiểu int: Kiểu số nguyên (không có chứa dấu chấm thập phân), có thể lưu các
số nguyên âm và dương
ví dụ 2: z=complex(2,3) thì 2 là phần thực, 3 là phần ảo
khi xuất kết quả ta có thể xuất:
print(“Phần thực= “,z.real) ==>Phần thực= 2
Kiểu str: Kiểu chuỗi, để trong nháy đôi hoặc nháy đơn
Trang 29dữ liệu tùy thuộc vào giá trị mà ta gán Ta có thể dùng hàm type() để kiểm tra kiểu
dữ liệu của biến
Kết quả lần lượt sẽ có kiểu dữ liệu của x là:
Với x = 5 ta có kiểu dữ liệu: <class ‘int’>
Với x = ‘teo’ ta có kiểu dữ liệu:<class ‘str’>
Với x = True ta có kiểu dữ liệu:<class ‘bool’>
Với x = 5.5 ta có kiểu dữ liệu:<class ‘float’>
Với x = complex(113,114) ta có kiểu dữ liệu:<class ‘complex’>
3 Cách xóa biến
Trong Python có một điểm thú vị là: Nếu biến đó đang tồn tại mà ta xóa nó đi thì không còn sử dụng được nữa (tương tự trong C++ khi chúng ta thu hồi bộ nhớ của con trỏ vậy), Python dùng từ khóa del để xóa:
Traceback (most recent call last):
File “F:/Study/Python/HelloWorld/FirstProject.py”, line 6, in
print(x)
NameError: name ‘x’ is not defined
29
Trang 304 Cách kiểm tra vùng lưu trữ giá trị của các biến int, float
Ta có thể kiểm tra vùng lưu trữ giá trị của các biên int, float bằng cách import thư viện sys để có thể xem được chi tiết:
max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021,
min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16,
radix=2, rounds=1)
Như vậy Tui đã hướng dẫn xong các kiểu dữ liệu cũng như cách khai báo biến trong Python cũng như việc xóa biến, kiểm tra vùng lưu trữ, việc nắm được kiểu dữ liệu khá quan trong vì nó giúp chúng ta chọn kiểu dữ liệu phù hợp để tối ưu hóa hệ thống
Trang 31Bài 06: Cách ghi chú lệnh trong Python
Bất kỳ ngôn ngữ lập trình nào cũng hỗ trợ cách ghi chú lệnh bởi vì nó rất quan trọng
Việc ghi chú lệnh một cách cẩn thận khi lập trình thể hiện tính chuyên nghiệp của Lập trình viên Không phải nói ngoa nếu như các bạn được phỏng vấn xin việc, nếu Công ty kiểm tra coding từ các Project sample của bạn mà thấy bạn không có ghi chú một cách cẩn thận (cho dù bạn có lập trình giỏi tới mấy) thì khả năng bị loại cựccao, nếu giỏi mà cẩu thả thì càng nguy hiểm, vì độ “sát thương” cho các dự án rất cao
Tui hay nói đùa thế này “Ngu mà tỏ vẻ nguy hiểm” hay “Nguy hiểm mà tỏ vẻ ngu”
Cả 2 trường hợp này đều nguy hiểm Trường hợp lập trình viên giỏi mà không ghi chú cẩn thận thì có thể liệt vào “Nguy hiểm mà tỏ vẻ ngu” (vì đa phần trong đầu có thể nghĩ là coding đó đơn giản mà có gì đâu mà phải ghi chú, đọc lại hiểu liền Nhưng chúng ta chú ý là ta làm việc theo Team, không ghi chú cẩn thận thì các thành viên khác thế nào? giai đoạn làm tài liệu ra sao?)… Cái này Tui nói đùa thui nhé, không được tự ái Tự ái là một căn bệnh nguy hiểm, có thể chết trước bệnh Tim
Khi ghi chú, trình thông dịch sẽ không tính nội dung những dòng ghi chú này là mã lệnh
Vậy trong Python ghi chú như thế nào?
1.Ghi chú 1 dòng : Dùng từ khóa #
Ví dụ:
31
Trang 322 Ghi chú nhiều dòng: Dùng “”” “”” (3 cặp nháy đôi) hoặc ”’ ”'(3 cập nháy
Giải phương trình bậc 1: ax+b=0
Có 3 trường hợp để biện luận
Nếu hệ số a =0 và hệ số b=0 ==>vô số nghiệm
Nếu hệ số a =0 và hệ số b !=0 ==>vô nghiệm
Nếu hệ số a !=0 ==> có nghiệm -b/a
Đây là lệnh kiểm tra năm nhuần year
Năm nhuần là năm chia hết cho 4 nhưng không chia hết cho 100 hoặc chia hết cho 400 '''
year=2016
if (year % 4==0 and year %100 !=0) or year % 400 ==0:
print(year," Là năm nhuần")
else:
print(year, " KO là năm nhuần")
Như vậy Tui đã hướng dẫn xong các cách ghi chú trong Python, các bạn nên áp dụng
vào các Project của mình nhé Nó khá quan trọng, ghi chú chi tiết sẽ giúp các lệnh
được rõ nghĩa hơn khi chúng ta kiểm tra lại code, training cho nhân viên mới,
chuyển giao coding khi ta chuyển công tác … Nói chung nó thể hiện tính Chuyên
nghiệp của Lập Trình Viên
Trang 33Bài 07: Các toán tử thường dùng trong Python
Trong bài này Tui sẽ trình bày các toán tử thường dùng trong Python
Mỗi một ngôn ngữ lập trình đều có tập các toán tử thường dùng và đa phần chúng khá giống nhau Những bạn nào đã học C++, java, C# thì qua Python cũng tương tự Trong Python còn bổ sung thêm nhiều toán tử khá hữu ích khác nữa, dưới này Tui liệt kê 4 loại toán tử cơ bản thường dùng nhất trong Python (các loại khác bạn có thểxem thêm tại: https://docs.python.org/3/library/stdtypes.html):
1 Toán tử số học cơ bản
3 Toán tử So sánh
5 Độ ưu tiên toán tử
Bây giờ ta đi chi tiết vào từng loại toán tử: