Python là một ngôn ngữ lập trình phổ biến được thiết kế bởi Guido van Rossum và được phát hành lần đầu vào năm 1991. Python là ngôn ngữ lập trình thông dịch, có nghĩa là mã nguồn Python được thực thi theo từng dòng từ trên xuống dưới. Python hỗ trợ cả lập trình hướng đối tượng và hướng thủ tục nội tại, giúp lập trình viên có thể sử dụng mô hình phù hợp với yêu cầu của dự án. Python nổi tiếng với cú pháp rõ ràng, dễ đọc, giúp giảm thiểu đáng kể thời gian cần thiết để viết và kiểm tra mã nguồn. Python được ứng dụng rộng rãi trong nhiều lĩnh vực như phân tích dữ liệu, học máy, phát triển web, tự động hóa, và nhiều hơn nữa. Python cũng có một cộng đồng lập trình viên lớn mạnh, nơi mà bạn có thể tìm thấy hàng ngàn thư viện và framework hỗ trợ. Một số thư viện nổi tiếng bao gồm NumPy và Pandas dành cho tính toán khoa học và phân tích dữ liệu, TensorFlow và PyTorch dành cho học máy, và Django và Flask dành cho phát triển web. Python là một công cụ mạnh mẽ và linh hoạt, phù hợp cho cả người mới học lập trình và những lập trình viên kỹ năng cao và được sử dụng rộng rãi trong nhiều lĩnh vực khác nhau. Bài viết này sẽ hướng dẫn bạn các khái niệm tự học lập trình Python cơ bản.
1. Cài đặt
Để cài đặt Python, bạn cần truy cập trang web chính thức của Python tại https://www.python.org/. Tại đây, hãy nhấn vào mục "Downloads" ở thanh menu. Bạn sẽ thấy các phiên bản Python mới nhất dành cho các hệ điều hành khác nhau. Chọn phiên bản phù hợp với hệ điều hành của bạn.
Đối với những người mới bắt đầu, một số môi trường phát triển tích hợp (IDE) phổ biến dành cho Python bao gồm PyCharm, Jupyter Notebook, và Visual Studio Code. IDE này giúp việc viết và kiểm tra mã Python trở nên dễ dàng hơn. Jupyter Notebook là một ứng dụng web cho phép bạn tạo và chia sẻ các tài liệu chứa mã sống, phương trình, biểu đồ và văn bản miêu tả. Jupyter Notebook thường được sử dụng trong các hoạt động như phân tích dữ liệu, học máy, và giảng dạy. Để cài đặt Jupyter Notebook, bạn có thể sử dụng chương trình quản lý thư viện của Python, pip. Trước tiên, bạn hãy mở cửa sổ dòng lệnh (Command Prompt trên Windows hoặc Terminal trên macOS và Linux) với vai trò là Administrator.
Sau đó trong cửa sổ dòng lệnh, bạn cài đặt Jupyter Notebook bằng cách chạy lệnh sau:
pip install notebook
Bạn đợi quá trình cài đặt hoàn tất. Sau đó, bạn có thể mở Jupyter Notebook bằng cách chạy lệnh trong cửa sổ dòng lệnh hoặc bất kỳ thư mục làm việc nào bạn muốn bằng cách gõ lệnh:
jupyter notebook
Lệnh này sẽ mở Jupyter Notebook trong trình duyệt web mặc định của bạn. Vậy là bạn đã sẵn sàng bắt đầu những dòng lệnh Python đầu tiên. Học lập trình là một quá trình thực hành, và việc giải quyết các vấn đề thực tế sẽ giúp bạn nắm vững kiến thức một cách tốt nhất.
2. Chạy những lệnh đầu tiên trên Jupyter Notebook
Bạn tạo một notebook mới bằng cách nhấn vào nút "New" ở góc trên bên phải và chọn "Python" (phiên bản Python mà bạn đã cài đặt sẽ được hiển thị).
Bạn sẽ thấy một ô (cell) trống. Đây là nơi bạn có thể nhập mã Python. Hãy nhập vào đoạn mã sau:
print("Hello, World!")
Để chạy mã, hãy nhấn vào nút "Run" ở thanh công cụ hoặc sử dụng tổ hợp phím Shift+Enter.
Bạn sẽ thấy dòng chữ "Hello, World!" được in ra bên dưới ô nhập mã. Tương tự, bạn có thể tạo một ô mới (bằng cách nhấn vào nút "+" ở thanh công cụ) và nhập đoạn mã sau để cộng hai số:
a = 5b = 7print(a + b)
Bạn thực hiện đoạn mã này và bạn sẽ thấy kết quả 12 được in ra bên dưới ô nhập mã. Vậy là bạn đã biết cách sử dụng Jupyter Notebook để chạy những đoạn lệnh Python đơn giản! 3. Biến trong PythonTrong Python, một biến có thể được hiểu như một vùng nhớ dùng để lưu trữ giá trị. Khi bạn tạo một biến, bạn cũng đặt tên cho nó. Đặt tên biến giúp bạn dễ dàng truy cập và thao tác với giá trị được lưu trữ trong biến. Trong Python, bạn không cần khai báo kiểu dữ liệu của biến khi tạo biến. Python sẽ tự động xác định kiểu dữ liệu dựa trên giá trị mà bạn gán cho biến. Bây giờ chúng ta sẽ cùng thực hành ví dụ về cách sử dụng biến trong Python:
Gán giá trị cho biến
x = 5y = "Hello, World!"print(x)print(y)
Trong ví dụ này, x là một biến có giá trị là 5 và y là một biến có giá trị là chuỗi "Hello, World!". Hàm print được sử dụng để in ra giá trị của các biến.
Thay đổi giá trị của biến
x = 5print(x)x = "Python"print(x)
Trong ví dụ này, biến x ban đầu được gán giá trị là 5. Sau đó, giá trị của x được thay đổi thành chuỗi "Python". Khi chúng ta in ra x lần nữa, giá trị mới của x sẽ được hiển thị. Nhớ rằng tên của biến trong Python phải tuân theo một số quy tắc và quy ước nhất định. Chẳng hạn, tên biến phải bắt đầu bằng một chữ cái hoặc dấu gạch dưới (_) và không thể bắt đầu bằng một số.
4. Kiểu dữ liệu trong Python
Kiểu số (int, float, complex): Kiểu int dùng cho các số nguyên, float dùng cho các số thực, và complex dùng cho các số phức. Ví dụ:
x = 10 # số nguyêny = 20.5 # sô thựcz = 1j # số phức (đại diện cho số phức i)
Kiểu chuỗi (str): Kiểu str dùng cho các chuỗi ký tự. Một chuỗi có thể được tạo bằng cách đặt ký tự trong dấu nháy đơn (''), dấu nháy kép ("") hoặc dấu nháy ba (''' ''' hoặc """ """). Ví dụ:
a = "hello"b = 'world'
Kiểu logic (bool): Kiểu bool chỉ có hai giá trị: True (đúng) và False (sai). Đây thường được sử dụng để kiểm tra các điều kiện. Ví dụ:
a = Trueb = False
Để hiểu rõ hơn về các kiểu dữ liệu trong Python, hãy cùng xem qua một số ví dụ chi tiết hơn: Kiểu số (int, float, complex): Bạn có thể thực hiện các phép toán số học như cộng, trừ, nhân, chia, lũy thừa, vv. với các kiểu số:
x = 10 # inty = 20.5 # floatprint(x + y) # Kết quả: 30.5
Kiểu chuỗi (str): Bạn có thể nối các chuỗi lại với nhau bằng cách sử dụng dấu + và lặp lại chuỗi bằng cách sử dụng dấu *:
a = "hello"b = "world"print(a + " " + b) # Kết quả: "hello world"print(a * 3)
# Kết quả: "hellohellohello"
5. Các cấu trúc dữ liệu thông dụng trong Python
Cấu trúc dữ liệu danh sách (list): Kiểu list là một tập hợp có thứ tự và có thể thay đổi. Các phần tử trong danh sách được đặt trong dấu ngoặc vuông ([]), và được phân tách bởi dấu phẩy. Ví dụ:
a = [1, 2, 3, 4, 5]
Cấu trúc dữ liệu bộ (tuple): Kiểu tuple tương tự như kiểu danh sách, nhưng không thể thay đổi (nghĩa là bạn không thể thêm, xóa hoặc sửa đổi các phần tử trong bộ). Các phần tử trong bộ được đặt trong dấu ngoặc đơn (()), và được phân tách bởi dấu phẩy. Ví dụ:
b = (1, 2, 3, 4, 5)
Cấu trúc dữ liệu tập hợp (set): Kiểu set là một tập hợp không có thứ tự và không chứa các phần tử trùng lặp. Các phần tử trong tập hợp được đặt trong dấu ngoặc nhọn ({}), và được phân tách bởi dấu phẩy. Ví dụ:
c = {1, 2, 3, 4, 5}
Cấu trúc dữ liệu từ điển (dictionary): Kiểu dictionary là một tập hợp không có thứ tự, có thể thay đổi và có các phần tử được xác định bởi một khóa duy nhất. Các phần tử trong từ điển được đặt trong dấu ngoặc nhọn ({}), và mỗi phần tử bao gồm một cặp khóa-giá trị. Ví dụ:
d = {"name": "John", "age": 30}
Mỗi cấu trúc dữ liệu đều có những phương thức và thuộc tính đặc trưng, cho phép bạn thao tác với dữ liệu một cách linh hoạt. Cấu trúc dữ liệu danh sách (list): Bạn có thể truy cập, sửa đổi và thêm các phần tử vào danh sách:
a = [1, 2, 3, 4, 5]print(a[0]) # Kết quả: 1a[0] = 10print(a) # Kết quả: [10, 2, 3, 4, 5]a.append(6)print(a) # Kết quả: [10, 2, 3, 4, 5, 6]
Cấu trúc dữ liệu từ điển (dict): Bạn có thể truy cập và sửa đổi các giá trị trong từ điển thông qua các khóa tương ứng:
d = {"name": "John", "age": 30}print(d["name"]) # Kết quả: "John"d["name"] = "Jane"print(d) # Kết quả: {'name': 'Jane', 'age': 30}
Biết cách sử dụng các kiểu dữ liệu và cấu trúc dữ liệu hiệu quả sẽ giúp bạn giải quyết được nhiều vấn đề lập trình.
6. Hàm trong Python
Trong Python, hàm là một khối mã được tổ chức và có thể tái sử dụng, dùng để thực hiện một hành động cụ thể. Hàm giúp chương trình của bạn trở nên rõ ràng hơn và dễ dàng hơn để bảo trì.
Hàm trong Python được định nghĩa bằng từ khóa def, theo sau là tên của hàm và dấu ngoặc đơn. Các tham số của hàm được liệt kê trong dấu ngoặc đơn. Cú pháp để định nghĩa hàm như sau: Trong đó:
- function_name là tên của hàm.
- parameters là danh sách các tham số mà hàm cần để thực hiện công việc của nó.
- Kết quả trả về (return) là giá trị mà hàm trả về sau khi thực hiện xong công việc của nó.
Dưới đây là một ví dụ về hàm trong Python:
diem_hk1 = eval(input("Nhap diem HK1: "))diem_hk2 = eval(input("Nhap diem HK2: ")) def tinh_diem_trung_binh(diem_hk1, diem_hk2): dtb = (diem_hk1 + diem_hk2 *2) /3 print("Diem trung binh: ", dtb ) return tinh_diem_trung_binh(diem_hk1, diem_hk2)
7. Biểu thức điều kiện trong Python
Biểu thức điều kiện trong Python được sử dụng để thực hiện một khối mã cụ thể nếu một điều kiện nào đó đúng (True). Nếu điều kiện không đúng (False), chúng ta có thể chọn thực hiện một khối mã khác hoặc không thực hiện gì cả. Biểu thức điều kiện sử dụng các từ khóa if, elif (viết tắt của 'else if'), và else.Cú pháp của biểu thức điều kiện trong Python là:
Dưới đây là một ví dụ về cách sử dụng biểu thức điều kiện trong Python: Trong ví dụ này, chúng ta kiểm tra nhiệt độ và in ra một thông báo tương ứng.
temperature = 20 if temperature < 0: print("It's freezing!")elif 0 <= temperature < 20: print("It's cold.")else: print("It's warm.")
8. Cấu trúc lặp trong Python
Cấu trúc lặp là một phần quan trọng của bất kỳ ngôn ngữ lập trình nào, bao gồm cả Python. Chúng cho phép bạn thực hiện một khối mã nhiều lần. Python cung cấp hai cấu trúc lặp chính: for và while. Vòng lặp for: Vòng lặp for trong Python được sử dụng để lặp qua các phần tử của một chuỗi (như một danh sách, một tuple, một chuỗi) hoặc bất kỳ chuỗi lặp nào khác.Cú pháp của vòng lặp for:
Ví dụ về vòng lặp for:
for i in [1, 2, 3, 4, 5]: print(i)
Trong ví dụ này, vòng lặp for sẽ in ra mỗi số trong danh sách từ 1 đến 5.
Vòng lặp while: Vòng lặp while trong Python được sử dụng để lặp đi lặp lại một khối mã cho đến khi một điều kiện nhất định không còn đúng nữa.Cú pháp của vòng lặp while:
Ví dụ về vòng lặp while:
i = 1while i <= 5: print(i) i += 1
Trong ví dụ này, vòng lặp while sẽ in ra mỗi số từ 1 đến 5.
9. Lệnh break và continue trong Python
Ngoài ra, Python cung cấp hai từ khóa hữu ích để kiểm soát quá trình lặp: break và continue. break dùng để ngắt vòng lặp ngay lập tức, trong khi continue dùng để ngắt vòng lặp hiện tại và tiếp tục với lần lặp tiếp theo. Ví dụ về break:
for i in range(1, 11): if i == 5: break print(i)
Trong ví dụ này, vòng lặp for bắt đầu từ 1 và lặp cho đến khi i=10. Tuy nhiên, nếu i=5 break sẽ được thực thi, ngắt vòng lặp ngay lập tức. Do đó, chương trình chỉ in ra các số từ 1 đến 4.
Ví dụ về continue:
for i in range(1, 11): if i == 5: continue print(i)
Trong ví dụ này, vòng lặp for cũng bắt đầu từ 1 và lặp cho đến khi i=10. Tuy nhiên, nếu i=5, từ khóa continue sẽ được thực thi, bỏ qua phần còn lại của khối mã trong vòng lặp hiện tại và tiếp tục với lần lặp tiếp theo. Do đó, chương trình sẽ in ra tất cả các số từ 1 đến 10, trừ số 5.
10. Bài tập tổng kết các nội dung tự học lập trình Python
- Tạo một biến my_string với giá trị là chuỗi "Hello, Python!". In ra màn hình giá trị của my_string.
- Tạo một biến my_int với giá trị là một số nguyên và một biến my_float với giá trị là một số thực. In ra màn hình giá trị của my_int và my_float.
- Tạo một danh sách my_list gồm 5 số nguyên. In ra màn hình phần tử đầu tiên và phần tử cuối cùng của my_list.
- Thêm một số nguyên vào cuối my_list và in ra màn hình danh sách sau khi thêm.
- Tạo một biến my_bool với giá trị là kết quả của phép so sánh 5 > 3. In ra màn hình giá trị của my_bool.
- Viết một vòng lặp for để in ra màn hình tất cả các phần tử trong my_list.
- Viết một vòng lặp while để in ra màn hình các số nguyên từ 1 đến 5.
- Trong vòng lặp for ở Yêu cầu 6, thêm một biểu thức điều kiện để chỉ in ra màn hình các số lớn hơn 2.
- Tạo một danh sách my_list_2 gồm 5 chuỗi. Viết một vòng lặp để in ra màn hình tất cả các chuỗi trong my_list_2 có độ dài lớn hơn 3.
- Viết một chương trình Python để tạo một danh sách mới bằng cách lấy các số chẵn từ my_list và in ra màn hình danh sách mới.
Bạn hãy tự mình làm trước khi tham khảo bài giải sau nha. Chúc bạn thành công!Gợi ý bài giải
# Yêu cầu 1my_string = "Hello, Python!"print(my_string) # Yêu cầu 2my_int = 10my_float = 20.5print(my_int, my_float) # Yêu cầu 3my_list = [1, 2, 3, 4, 5]print(my_list[0], my_list[-1]) # Yêu cầu 4my_list.append(6)print(my_list) # Yêu cầu 5my_bool = 5 > 3print(my_bool) # Yêu cầu 6for i in my_list: print(i) # Yêu cầu 7i = 1while i <= 5: print(i) i += 1 # Yêu cầu 8for i in my_list: if i > 2: print(i) # Yêu cầu 9my_list_2 = ["cat", "window", "defenestrate", "Python", "a"]for word in my_list_2: if len(word) > 3: print(word) # Yêu cầu 10new_list = [x for x in my_list if x % 2 == 0]print(new_list)
Chúc mừng bạn đã nắm được các kiến thức căn bản của lập trình Python. Cùng nhau học tập và ứng dụng Python vào công việc và cuộc sống của mình nhé!