Yêu cầu
Đây là bài viết tổng hợp ngắn gọn các kiến thức về Python cơ bản, vì vậy để dễ hiểu nhất bạn nên đạt được yêu cầu sau:
- Đã có kiến thức lập trình ít nhất 1 ngôn ngữ lập trình nào đó.
Nếu có thắc mắc, bạn hãy để lại bình luận dưới bài viết, tôi sẽ phản hồi trong thời gian sớm nhất!
1. Cài đặt môi trường lập trình
- Tải xuống Python từ trang chủ: https://www.python.org/downloads/
- Cài đặt một IDE (Integrated Development Environment) như PyCharm, Visual Studio Code, Jupyter Notebook hoặc Spyder
Hướng dẫn cài đặt môi trường lập trình Python với Visual Studio Code
- Tải xuống và cài đặt Visual Studio Code từ trang chủ: https://code.visualstudio.com/download
- Mở Visual Studio Code và chọn “Extensions” trong thanh bên trái.
- Tìm kiếm “Python” và chọn “Install” để cài đặt extension Python.
- Cài đặt môi trường Python bằng cách mở terminal bằng cách chọn “Terminal” trong thanh bên trái của VSCode.
Khi phát triển dự án với Python, chúng ta thường sử dụng rất nhiều thư viện với các phiên bản khác nhau. Tuy nhiên trong các dự án thực tế chúng ta cần đồng bộ phiên bản thư viện giữa các dự án khác nhau trong cùng phạm vi phát triển. Sẽ rất phiền phức và gặp những lỗi không đáng có như là phiên bản thư viện khác nhau.
Ví dụ, ứng dụng A sử dụng thư viện X version 1.1. Ứng dụng B cũng sử dụng thư viện X nhưng version 1.2. Đều là thư viện X, tuy nhiên ở phiên bản khác nhau sẽ có các thay đổi khác nhau, ví dụ trong phiên bản 1.2, thư viện X đã bỏ hàm nào đó mà ứng dụng A đang sử dụng, thì sẽ dẫn đến lỗi ứng dụng A. Khi chạy ứng dụng A và B thì rất dễ gây ra lỗi hoặc làm cho chương trình chạy không chính xác. Những trường hợp này xảy ra rất nhiều trong thực tế khi bạn phải bảo trì các dự án cũ và phát triển các dự án mới.
Nhập lệnh sau để cài đặt môi trường Python:
pip install virtualenv
Tạo môi trường ảo cho dự án bằng lệnh sau (tạo 1 thư mục lưu nhiều dự án, để chạy dòng lệnh sau):
python -m venv .venv
Kích hoạt môi trường ảo bằng lệnh sau, về sau chúng ta sẽ sử dụng môi trường ảo để cài đặt các pakage:
.venv\Scripts\activate
Cài đặt các gói cần thiết bằng lệnh sau (tuỳ dự án, có thể có hoặc không):
pip install numpy pandas matplotlib
2. Cú pháp cơ bản của Python
2.1 Kiểu dữ liệu và Biến
Python là một ngôn ngữ lập trình có kiểu dữ liệu động, điều đó có nghĩa là bạn không cần phải xác định kiểu dữ liệu của biến trước khi sử dụng nó. Kiểu dữ liệu của biến sẽ được xác định tự động khi bạn gán giá trị cho biến đó.
Một số kiểu dữ liệu phổ biến trong Python bao gồm:
int
: kiểu dữ liệu số nguyênfloat
: kiểu dữ liệu số thựcstr
: kiểu dữ liệu chuỗibool
: kiểu dữ liệu Boolean (True hoặc False)list
: kiểu dữ liệu danh sáchtuple
: kiểu dữ liệu tupledictionary
: kiểu dữ liệu từ điển, tương tự như kiểu Object của JavaScript
Ngoài ra, chúng ta còn có thể định nghĩa các kiểu dữ liệu mới bằng cách sử dụng lớp (class).
Trong Python, biến được sử dụng để lưu trữ giá trị và tham chiếu đến đối tượng. Biến có thể được sử dụng để lưu trữ bất kỳ loại dữ liệu nào, bao gồm chuỗi, số, danh sách, bộ và đối tượng.
Các biến được đặt tên theo một số quy tắc sau:
- Tên biến phải bắt đầu bằng một chữ cái hoặc dấu gạch dưới.
- Tên biến không được chứa các ký tự đặc biệt như @, #, $, %, v.v.
- Tên biến không được trùng với từ khóa được sử dụng trong Python (như if, else, for, v.v.).
Cách khai báo biến:
#Cú pháp
tên_biến = giá_trị
#Ví dụ khai báo biến
my_int = 5 # biến sẽ tự xác định có kiểu dữ liệu là int
my_str = "John" # kiểu dữ liệu là str
my_float = 1.2 #kiểu dữ liệu là float
my_bool = True #kiểu dữ liệu là bool
my_list = [1, 2, 3, 4] #kiểu dữ liệu là list
my_tuple = (1, 2, 3, 4) # kiểu dữ liệu là tuple
my_dict = {'name': 'Binh', 'age': 21} #kiểu dữ liệu là dict
Đối với kiểu dữ liệu list là giống với kiểu dữ liệu Array trong các ngôn ngữ lập trình khác, và dictionary tương tự với kiểu dữ liệu Object trong Javascript. Tuy nhiên đối với kiểu dữ liệu tuple, lại không có ở các ngôn ngữ khác, tuple tương tự như một danh sách, nhưng nó là bất biến. Điều đó có nghĩa là dữ liệu trong một bộ dữ liệu được bảo vệ chống ghi. Cách tương tác dữ liệu với tuple:
# Khởi tạo Tuple
my_tuple = (1, 2, 3, 4, 5)
# Tạo Tuple chứa các kiểu dữ liệu khác nhau
my_tuple_2 = ('Binh', 21, True, 1.2)
# Truy cập các phần tử trong Tuple
print(my_tuple[0]) # Output: 1
print(my_tuple[1]) # Output: 2
# Lấy độ dài của Tuple
print(len(my_tuple)) # Output:
2.2 Sử dụng hàm trong Python
Hàm là một khối mã được đặt tên, có thể được gọi bằng tên của nó. Hàm có thể nhận đầu vào và trả về đầu ra. Hàm trong Python được định nghĩa bằng cách sử dụng từ khóa def
. Có thể được gọi bất cứ lúc nào trong chương trình.
Cú pháp của một hàm như sau:
def ten_ham(tham_so_1, tham_so_2):
# Khối mã
return ket_qua
Ví dụ về hàm:
def tinh_tong(a, b):
tong = a + b
return tong
# Gọi hàm để tính tổng
x = 3
y = 4
tongso = tinh_tong(x, y)
print("Tổng của", x, "và", y, "là", tongso)
Hàm tinh_tong hoạt động như sau: Chúng ta khởi tạo một hàm tinh_tong có 2 tham số đầu vào là a và b, hàm thực hiện việc tính tổng a + b và gán giá trị a + b cho biến tong. Để hàm tinh_tong này được thực thi, chúng ta cần gọi nó và truyền vào 2 giá trị x, y đã được khai báo giá trị. Hàm sẽ thực thi và trả về tổng của 2 số x, y. Giá trị của hàm này sẽ được gán cho biến tongso. Cuối cùng ta in ra màn hình giá trị x, và y và tổng của chúng.
#Output
Tổng của 3 và 4 là 7
2.3 Câu điều kiện
Câu điều kiện được sử dụng để kiểm tra một điều kiện nào đó và thực hiện các tác vụ khác nhau tùy thuộc vào kết quả của điều kiện đó. Câu điều kiện được biểu diễn bằng từ khóa if
, else
và elif
Câu điều kiện với if
và else
age = 18
if age < 18:
print("Bạn chưa đủ tuổi để uống rượu.")
else :
print("Bạn được uống rượu.")
Câu điều kiện với if elif
, và else
age = 18
if age < 18:
print("Bạn chưa đủ tuổi để uống rượu.")
elif age >= 18 and age < 21:
print("Bạn được uống bia, nhưng không được uống rượu.")
else:
print("Bạn được uống rượu.")
Ta có thể rút gọn câu điều kiện bằng cách sử dụng toán tử ba ngôi, ví dụ như sau:
#Cú pháp
A if (condition) else B;
# Cú pháp toán tử 3 ngôi trong python với lệnh if elif else
A if (condition1) else B if (condition2) else C;
Sử dụng toán tử 3 ngôi cho ví dụ trên:
age=18
print("Bạn chưa đủ tuổi để uống rượu.") if age < 18 else ( print("Bạn được uống bia, nhưng không được uống rượu.") if age >= 18 and age < 21 else print("Bạn được uống rượu."))
Trong ví dụ trên, chúng ta sử dụng câu điều kiện để kiểm tra tuổi của người dùng và in ra thông báo tương ứng.
2.4 Vòng lặp
Vòng lặp được sử dụng để thực hiện một tác vụ nhiều lần. Trong Python, có hai loại vòng lặp chính: vòng lặp for
và vòng lặp while
.
2.4.1 Vòng lặp for
:
Được sử dụng để lặp qua một chuỗi hoặc danh sách các giá trị và thực hiện các tác vụ tương ứng với mỗi giá trị trong danh sách đó.
Cú pháp:
for element in sequence:
# thực hiện các tác vụ tương ứng với từng phần tử
Trong đó:
element
là biến được sử dụng để lưu trữ giá trị của từng phần tử trong chuỗi hoặc danh sách.sequence
là chuỗi hoặc danh sách cần lặp qua.
Ví dụ:
numbers = [1, 2, 3, 4, 5]
for num in numbers:
print(num)
Trong ví dụ trên, chúng ta sử dụng vòng lặp for
để in ra từng số trong danh sách numbers
.
2.4.2 Vòng lặp while
:
Được sử dụng để lặp lại một tác vụ cho đến khi một điều kiện nào đó được thỏa mãn.
Cú pháp:
while condition:
# thực hiện các tác vụ tương ứng
Ví dụ:
count = 0
while count < 5:
print("Count:", count)
count += 1
Trong ví dụ trên, chúng ta sử dụng vòng lặp while
để in ra số lần lặp lại và tăng giá trị của count
lên mỗi lần lặp lại, đến khi **count <5**
thì vòng lặp sẽ dừng lại.
2.4.3 Câu lệnh continue
trong vòng lặp
Câu lệnh continue
được sử dụng để bỏ qua các phần tử không cần thiết trong vòng lặp và tiếp tục với phần tử kế tiếp.
Ví dụ:
numbers = [1, 2, 3, 4, 5]
for num in numbers:
if num == 3:
continue
print(num)
Output:
1
2
4
5
Trong ví dụ trên, chúng ta sử dụng vòng lặp for
để lặp qua danh sách numbers
và sử dụng câu lệnh continue
để bỏ qua phần tử có giá trị là 3 và tiếp tục với các phần tử kế tiếp.
2.4.4 Câu lệnh break
trong vòng lặp
Ví dụ:
Câu lệnh break
được sử dụng để kết thúc vòng lặp khi một điều kiện nào đó được thỏa mãn.
numbers = [1, 2, 3, 4, 5]
for num in numbers:
if num == 3:
break
print(num)
Output:
1
2
2.4.5 Vòng lặp lồng nhau
Chúng ta có thể lồng nhiều vòng lặp vào nhau để thực hiện các tác vụ phức tạp hơn.
Ví dụ, chúng ta cần in ra tất cả các cặp số từ 0 đến 2 bằng cách sử dụng hai vòng lặp lồng nhau.
for i in range(3):
for j in range(3):
print(f"({i}, {j})")
Bên trong vòng lặp cha là vòng lặp for i in range(3)
với biến i
sẽ lặp qua các giá trị từ 0 đến 2. Bên trong vòng lặp cha, chúng ta có một vòng lặp con là vòng lặp for j in range(3)
với biến j
sẽ lặp qua các giá trị từ 0 đến 2.
Khi vòng lặp cha được thực hiện, vòng lặp con sẽ được lặp lại 3 lần với mỗi giá trị của i
. Trong mỗi lần lặp của vòng lặp con, chúng ta sử dụng print(f"({i}, {j})")
để in ra giá trị của biến i
và j
tương ứng, tạo thành một cặp giá trị.
Chữ f trong cú pháp print(f"({i}, {j})")
là viết tắt của từ “format” và được sử dụng để định dạng chuỗi kết hợp với các biến bên trong chuỗi.
Trong ví dụ của chúng ta, chúng ta sử dụng f-string để định dạng chuỗi “({i}, {j})
” và thay thế các biến i
và j
trong chuỗi này bằng giá trị tương ứng của biến trong mỗi vòng lặp. Khi sử dụng f-string, chúng ta sẽ đặt chữ “f” trước chuỗi và sử dụng dấu ngoặc nhọn để bao quanh các biến cần được thay thế.
Output:
(0, 0)
(0, 1)
(0, 2)
(1, 0)
(1, 1)
(1, 2)
(2, 0)
(2, 1)
(2, 2)
3. Lưu ý khi lập trình với Python
Khi lập trình với Python, có một số lưu ý quan trọng và định dạng code cần phải được tuân thủ để giúp cho mã nguồn của bạn dễ đọc, dễ hiểu và dễ bảo trì. Sau đây là một số lưu ý quan trọng và định dạng code khi lập trình Python:
Python không yêu cầu định dạng code nhất định, tuy nhiên, để mã của bạn dễ đọc và dễ hiểu hơn, nên tuân thủ các quy ước định dạng code như sau:
- Sử dụng khoảng trắng để tạo ra một code dễ đọc hơn. Ví dụ: sử dụng một khoảng trắng trước và sau dấu phẩy, như sau:
a, b, c
thay vìa,b,c
. - Sử dụng các ký tự thụt đầu dòng (indentation) để định nghĩa các khối mã. Python sử dụng thụt đầu dòng để phân biệt các khối mã, vì vậy việc tuân thủ quy tắc này là rất quan trọng.
- Sử dụng các ký tự xuống dòng (line break) để làm cho code dễ đọc hơn.
- Đặt tên biến có ý nghĩa, dễ hiểu. Tên biến nên được viết bằng chữ thường và các từ nên được phân tách bằng dấu gạch dưới. Ví dụ:
user_name
thay vìuserName
. - Sử dụng các chú thích để giải thích code.
Các lưu ý khác:
- Chú ý đến việc quản lý bộ nhớ. Python có hỗ trợ tự động giải phóng bộ nhớ, tuy nhiên, vẫn cần phải chú ý để tránh sử dụng quá nhiều bộ nhớ và gây ra lỗi.
- Chú ý đến việc sử dụng đối tượng và tham chiếu đối tượng. Trong Python, đối tượng là một thực thể được tạo ra bởi lớp (class) và được tham chiếu bởi một biến. Khi sử dụng đối tượng trong Python, cần phải chú ý đến việc tham chiếu và sao chép đối tượng.
- Sử dụng các thư viện phù hợp. Python có rất nhiều thư viện hữu ích để giúp bạn giải quyết các vấn đề phức tạp, nên hãy tìm hiểu và sử dụng chúng để tối
Lượt xem: 117