Có nhiều cách để học python, cũng như có nhiều giáo trình để chúng ta có thể tham khảo, tuy nhiên để bắt đầu thường sẽ rất khó khăn với một người giữa rất nhiều ngả đường để lựa chọn. Trong quá trình tìm hiểu về cách Python hoạt động và sử dụng nó với lập trình hướng đối tượng, phát triển các ứng dụng thì mình nghĩ cũng nên tổng hợp lại một chút cho anh em có thể tham khảo cũng như tiến đi nhanh nhất trong quá trình học Python. Tất nhiên vẫn với cách hướng dẫn từng bước kèm theo các ví dụ minh họa để anh em có thể nghiên cứu lý thuyết cũng như thực hành liền cho nóng.
Ví dụ dưới đây là 1 đoạn code cơ bản hello world với python
greeting = 'Hello World!'
print( greeting )
Giới thiệu
Python thì mình cũng không cần nói quá nhiều về nó, các bạn có thể biết nó có nguồn gốc từ rất nhiều ngôn ngữ khác như C,C++, Unix shell, .. hoặc có thể không, nếu không thì mình mới tiết lộ cho bạn 1 bí mật động trời rồi đấy :D
Triết lý cơ bản của Python là tính dễ đọc, điều này đặc biệt phù hợp với những người mới bắt đầu lập trình máy tính và nó có thể được tóm tắt bằng các nguyên tắc sau:
• Đẹp còn hơn xấu
• Rõ ràng tốt hơn là ẩn ý
• Đơn giản là tốt hơn phức tạp
• Phức tạp ít tốt hơn phức tạp nhiều
• Số lượng đoạn code có khả năng đọc
Vì Python được thiết kế để dễ đọc, nó sử dụng các từ khóa tiếng Anh thường xuyên trong khi các ngôn ngữ khác có thể sử dụng dấu câu. Đáng kể nhất, nó sử dụng thụt đầu dòng(indentation) để nhóm các câu lệnh lại với nhau thành các “khối” mã. Ví dụ, trong ngôn ngữ lập trình Pascal, các khối bắt đầu bằng từ khóa begin và kết thúc bằng từ khóa end, và trong ngôn ngữ lập trình C, các khối được đặt trong dấu ngoặc nhọn ( {}). Việc sử dụng thụt lề trong Python tạo ra code có bố cục trực quan gọn gàng.
Python 2.7 hiện tại đã nằm vào list end-of-life release nghĩa là không được support nữa. Phiên bản 3.x là bản được ưu tiên sử dụng hơn và mình sẽ dùng nó xuyên suốt những bài hướng dẫn python. Và 1 điểm cần lưu ý nữa là python 3.x không tương thích ngược với 2.7 nghĩa là code trên version cao sẽ không dùng được với version thấp.
Cài đặt
Để lập trình được python thì điều đầu tiên là phải cài đặt, ở đây chúng ta có thể cài đặt python trên mọi hệ điều hành khác nhau
Windows
Bước 1: Mở trình duyệt web, vào ngay python.org/downloads và tải xuống phiên bản trình cài đặt thích hợp - trong ví dụ này, khi mình ấn vào download trình duyệt sẽ tải tập tin “python-3.9.5-amd64.exe” về
Bước 2: Khi quá trình tải xuống hoàn tất, mình chỉ việc ấn nút next next và cài như những phần mềm thông thường thôi
Bước 3: Sau khi cài đặt xong thì đường dẫn mặc định của python là ổ C: của mình sẽ là thư mục tại C:\Users\xxx\AppData\Local\Programs\Python\Python39 cho Python phiên bản 3.9.5
Linux
Với phiên bản linux thì nếu bạn dùng Ubuntu 20, python đã được cài sẵn, bạn có thể kiểm tra bằng cách sau
sc@sckt:~$ python3 -V
Python 3.8.5
Với các phiên bản cũ hơn bạn có thể cài python thông qua apt
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
Lập trình bài đầu tiên
Chọn lựa Editor để lập trình
Sau khi cài đặt python chúng ta sẽ có các biểu tượng sau đây ① là IDLE(Python’s Integrated DeveLopment Environment) để bạn có thể lập trình trực quan ② là cửa sổ console để bạn có thể chạy lệnh trên đó, tương tự như cmd của windows.
Chúng ta có thể chơi bời với cửa sổ terminal bằng cách gõ vài phép toán cộng trừ cơ bản
Sử dụng Visual Studio Code
Visual studio code là Editor rất ngon lành mà chúng ta có thể lập trình ở trên đó, mình cũng thường xuyên sử dụng nó để lập trình Python, các bạn nên dùng nó bởi vì nó rất tiện lợi, vừa code được vừa chạy được luôn. Thơm bơ như bánh mì sài gòn.
Nếu bạn chưa cài VS code thì bạn có thể cài tại đây
Sau khi cài đặt bạn có thể tìm plugin và cài Python vào, từ đó ta có đủ đồ nghề để hành nghề với python rồi
Chương trình đầu tiên
Các bạn có thể dùng VS Code để tạo file mới bằng cách Ctrl+N sau đó lưu lại file dưới định dạng .py, file này là file mà Python dùng để thực thi
Chương trình Python chỉ đơn giản là một tệp văn bản thuần túy được tạo bằng trình chỉnh sửa, chẳng hạn như Notepad của Windows, đã được lưu với phần mở rộng tệp “.py”.
Chương trình đầu tiên khi học bất kỳ ngôn ngữ lập trình nào mà chúng ta thường thấy là chỉ cần in ra một thông điệp chào mừng thế giới như sau
print('Hello World!')
Sau vài nút dòng code và bấm nút play, chúng ta đã thấy kết quả ③
Chơi đùa với biến
Dữ liệu được lưu trữ trong một biến thông qua toán tử gán =
Ví dụ: để lưu trữ giá trị số 8 trong một biến có tên là “a” đơn giản chỉ là như sau:a=8
Nếu ta sử dụng lệnh print(a)
sẽ xuất ra giá trị được lưu trữ 8. Biến đó sau đó có thể được gán một giá trị khác, vì vậy giá trị của nó có thể thay đổi
Trong lập trình Python, một biến phải được gán một giá trị ban đầu (“initialized”) - nếu không trình thông dịch sẽ báo lỗi “không được xác định”.
Bạn có thể khởi tạo nhiều biến với một giá trị chung với một câu lệnh duy nhất bằng cách sử dụng một chuỗi các phép gán =
Ví dụ: để khởi tạo các biến có tên “a”, “b” và “c”, mỗi biến có giá trị 8 như sau:a=b=c=8
Ngoài ra, nhiều biến có thể được khởi tạo với các giá trị khác nhau trong một câu lệnh duy nhất bằng cách sử dụng dấu phân cách bằng dấu phẩy.
Ví dụ: để khởi tạo các biến có tên “a”, “b” và “c” với các giá trị số tương ứng là 1, 2 và 3 như sau:
a, b, c = 1, 2, 3
Chúng ta có thể thêm các comment vào trong code bằng cách dùng kí tự #, với những đoạn code có # ở đầu thì python sẽ bỏ qua nó giống như // trong C thôi các bạn à
# Khoi tao bien voi gia tri integer
var = 8
print(var)
# Gan gia tri float vao bien
var = 3.142
print(var)
# Gan gia tri string vao bien
var = 'Python is so easy'
print(var)
# Gan kieu boolean value vao bien
var = True
print(var)
Với chương trình trên chúng ta đã có thể gán được các kiểu giá trị trong python
Kết quả
8
3.142
Python is so easy
True
User input
Python cũng cho phép chúng ta có thể nhập input vào thông qua hàm input, cái này đặc biệt hữu dụng với các chương trình cần người dùng thao tác nhập input vào.
# Khoi tao bien voi gia tri nhap vao cua nguoi dung
user = input('I am Python. What is your name? : ')
# Xuat chuoi va bien gia tri
print('Welcome', user)
# Khoi tao bien khac de nhan gia tri tu user
lang = input('Favourite programming language? : ')
# Xuat chuoi voi gia tri cua bien
print(lang, 'Is', 'Fun', sep = ' * ', end = '!\n')
Các bạn có thể chạy ví dụ sau và xem kết quả
I am Python. What is your name? : SC
Welcome SC
Favourite programming language? : Python
Python * Is * Fun!
Sửa lỗi
Trong lập trình Python, có ba loại lỗi có thể xảy ra. Sẽ rất hữu ích nếu bạn nhận ra các loại lỗi khác nhau để có thể sửa chúng dễ dàng hơn:
- Lỗi cú pháp(Syntax Error) - xảy ra khi trình thông dịch gặp mã không tuân theo các quy tắc ngôn ngữ Python.
Ví dụ, một dấu ngoặc kép bị thiếu xung quanh một chuỗi. Trình thông dịch tạm dừng và báo lỗi mà không thực hiện chương trình
print( ‘Python in easy steps )
Lỗi
File "d:\python-easy\c-001\syntax.py", line 1
print( 'Python in easy steps)
^
SyntaxError: EOL while scanning string literal
Fix lỗi
print('Python in easy steps')
Kết quả
Python in easy steps
- Lỗi Runtime(Runtime Error) - xảy ra trong quá trình thực thi chương trình, tại thời điểm chương trình chạy.
Ví dụ, khi một tên biến sau đó bị gõ sai, do đó biến không thể được nhận dạng. Trình thông dịch chạy chương trình nhưng dừng lại ở lỗi và báo cáo bản chất của lỗi dưới dạng "Exception"
title = 'Python is easy'
print(titel)
Lỗi
Traceback (most recent call last):
File "d:\python-easy\c-001\runtime.py", line 2, in <module>
print(titel)
NameError: name 'titel' is not defined
Khắc phục
title = 'Python is easy'
print(title)
Kết quả
Python is easy
- Lỗi ngữ nghĩa(Semantic Error) - xảy ra khi chương trình hoạt động không mong muốn.
Ví dụ, khi thứ tự ưu tiên chưa được chỉ định trong một biểu thức. Trình thông dịch chạy chương trình và không báo lỗi
num = 3
print(num * (8 + 4))
Lỗi
36
Trong khi đó mục đích của mình là sẽ in kết quả ra 28, do đó chương trình cần sửa lại
num = 3
print(num * 8 + 4)
Kết quả sẽ là 28
Tổng kết
- Python là một ngôn ngữ lập trình cấp cao sử dụng trình thông dịch để tạo ra kết quả
- Python sử dụng thụt lề để nhóm các câu lệnh thành các khối mã, trong đó các ngôn ngữ khác sử dụng từ khóa hoặc dấu chấm câu
- Python 2.7 là phiên bản cuối cùng của bản 2.x những cải tiến mới nhất được phát triển với bản 3.x
- Ta có thể code Python chỉ đơn giản là một tệp văn bản được tạo bằng trình soạn thảo văn bản thuần túy và được lưu với phần mở rộng tệp “.py” hoặc sử dụng Visual Studio Code để thuận tiện hơn
- Hàm
print()
trong Python xuất ra chuỗi được chỉ định trong dấu ngoặc đơn của nó - Biến trong Python có thể chứa bất kỳ kiểu dữ liệu nào nhưng phải được cung cấp một giá trị ban đầu khi nó được khai báo
- Hàm
input()
trong Python đọc giá trị nhập vào của user - Lỗi là chuyện thường tình, ai code rồi cũng sẽ có lỗi thôi, với lỗi syntax thì ta theo hướng dẫn để fix, lỗi Runtime exception thì ae nhớ rào lại cho chắc, còn lỗi Semantic thì chú ý chút tới thứ tự tính toán và in các giá trị ra để debug