MinAI - Về trang chủ
Lý thuyết
1/153 giờ
Đang tải...

Python Cơ Bản - Phần 1

Giới thiệu Python, cài đặt môi trường, Variables, Data Types, Operators và Strings

0

🎯 Mục tiêu bài học

TB5 min

Sau bài học này, bạn sẽ:

✅ Hiểu Python là gì và tại sao Python là lựa chọn #1 cho Data Science

✅ Cài đặt thành công môi trường Python (Anaconda, Jupyter, VS Code)

✅ Nắm vững cú pháp cơ bản: Variables, Data Types, Operators

✅ Thành thạo String operations và formatting

Thời gian: 3 giờ | Độ khó: Beginner | Yêu cầu: Không cần kiến thức lập trình trước

1

📖 Bảng Thuật Ngữ Quan Trọng

TB5 min
Thuật ngữTiếng ViệtGiải thích đơn giản
VariableBiếnVùng nhớ lưu trữ dữ liệu, đặt tên để sử dụng lại
Data TypeKiểu dữ liệuLoại dữ liệu mà biến chứa (số, chuỗi, boolean...)
OperatorToán tửKý hiệu thực hiện phép toán (+, -, *, /, ==...)
StringChuỗi ký tựDữ liệu dạng văn bản, đặt trong dấu "" hoặc ''
IDEMôi trường phát triểnPhần mềm viết code (VS Code, Jupyter, PyCharm)
InterpreterTrình thông dịchChương trình đọc và chạy code Python từng dòng
PEP 8Quy chuẩn code PythonBộ quy tắc giúp code Python đẹp và thống nhất
f-stringChuỗi định dạngCách chèn biến vào chuỗi: f"Hello, {name}"
Type ConversionChuyển đổi kiểuĐổi kiểu dữ liệu: int("42")42
AnacondaBộ công cụ PythonTrọn bộ Python + thư viện Data Science đã cài sẵn

Checkpoint

Bạn đã đọc qua bảng thuật ngữ chưa? Hãy quay lại đây khi gặp thuật ngữ lạ trong bài!

2

🐍 Python là gì và tại sao cho Data Science?

TB5 min

Python là ngôn ngữ lập trình bậc cao, được tạo bởi Guido van Rossum năm 1991. Python nổi tiếng với cú pháp đơn giản, dễ đọc và dễ học.

Đặc điểm nổi bật

Đặc điểmMô tả
Cú pháp rõ ràngCode Python đọc gần như tiếng Anh
Đa mục đíchWeb, Data Science, AI, Automation
Thông dịchKhông cần compile, chạy trực tiếp
Động (Dynamic)Không cần khai báo kiểu dữ liệu
Cộng đồng lớnHàng triệu developers, tài liệu phong phú
Python
1# Python Hello World - Đơn giản nhất!
2print("Hello, Data Science!")
3
4# So sánh với Java (cần nhiều code hơn)
5# public class HelloWorld {
6# public static void main(String[] args) {
7# System.out.println("Hello, Data Science!");
8# }
9# }

Hệ sinh thái thư viện Python

Hệ sinh thái Python Data Science

Python
Data Manipulation
Pandas
Polars
NumPy
Visualization
Matplotlib
Seaborn
Plotly
Machine Learning
Scikit-learn
TensorFlow
PyTorch
Web Apps
Streamlit
Dash
Flask
Thư việnMục đíchVí dụ sử dụng
PandasXử lý dữ liệu bảngĐọc CSV, filter, groupby
NumPyTính toán số họcArrays, matrix operations
MatplotlibVẽ biểu đồ cơ bảnLine, bar, scatter plots
SeabornStatistical visualizationHeatmap, distribution plots
PlotlyInteractive chartsDashboard, web charts
Scikit-learnMachine LearningClassification, regression

So sánh Python với các ngôn ngữ khác

Tiêu chíPythonRSQLExcel
Học dễ⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
Data manipulation⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
Visualization⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
Machine Learning⭐⭐⭐⭐⭐⭐⭐⭐⭐
Đa mục đích⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐

Các công ty sử dụng Python

Google (YouTube, Search), Netflix (Recommendation), Spotify (Music AI), Instagram (Backend), Uber (Analytics), NASA (Scientific computing)

Career Path với Python

1
Data Analyst
2
Data Scientist
3
ML Engineer
4
AI Researcher

Checkpoint

Python có 5 đặc điểm nổi bật nào? Bạn có thể kể tên 3 thư viện Python phổ biến cho Data Science không?

3

🛠️ Cài đặt môi trường Python

TB5 min

Các cách cài đặt

Phương phápƯu điểmNhược điểmPhù hợp với
Python.orgNhẹ, cơ bảnPhải cài thư viện thủ côngBeginners
AnacondaĐầy đủ thư việnDung lượng lớn (~3GB)Data Scientists
MinicondaNhẹ, linh hoạtCần cài thêm packagesExperienced users
Google ColabKhông cần càiCần internetQuick experiments

Khuyến nghị: Cài Anaconda nếu bạn có máy tính cá nhân, hoặc dùng Google Colab nếu muốn bắt đầu ngay không cần cài đặt.

Cài đặt Anaconda

Bước 1: Tải từ anaconda.com/download — chọn đúng OS (Windows/macOS/Linux)

Bước 2: Cài đặt theo hướng dẫn

Bash
1# macOS/Linux
2chmod +x Anaconda3-xxx.sh
3./Anaconda3-xxx.sh

Bước 3: Kiểm tra

Bash
1conda --version # conda 23.x.x
2python --version # Python 3.11.x

Quản lý môi trường với Conda

Bash
1# Tạo môi trường mới
2conda create -n datascience python=3.11
3
4# Kích hoạt
5conda activate datascience
6
7# Cài thư viện Data Science
8conda install pandas numpy matplotlib seaborn scikit-learn jupyter
9
10# Export môi trường
11conda env export > environment.yml
12
13# Các lệnh hay dùng
14conda env list # Danh sách môi trường
15conda list # Packages đã cài
16conda update pandas # Cập nhật package
17conda env remove -n datascience # Xóa môi trường

Jupyter Notebook

Jupyter Notebook là công cụ không thể thiếu cho Data Science — cho phép viết code, xem kết quả, và ghi chú trong cùng một file.

Bash
1# Chạy Jupyter
2jupyter notebook
3
4# Hoặc JupyterLab (giao diện mới hơn)
5jupyter lab

Shortcuts quan trọng:

ShortcutChức năng
Shift + EnterChạy cell và di chuyển xuống
Ctrl + EnterChạy cell tại chỗ
A / BThêm cell phía trên / dưới
DDXóa cell
M / YChuyển Markdown / Code

Magic Commands:

Python
1%time df = pd.read_csv('large_file.csv') # Đo thời gian
2%timeit df['col'].sum() # Đo thời gian trung bình
3%matplotlib inline # Hiển thị chart inline
4%whos # Xem tất cả variables

VS Code cho Python

  1. Tải từ code.visualstudio.com
  2. Cài Extensions: Python + Pylance + Jupyter (Microsoft)
  3. Chọn Python Interpreter: Ctrl+Shift+P → "Python: Select Interpreter"

Google Colab (Không cần cài đặt)

Vào colab.research.google.com — đã cài sẵn Pandas, NumPy, Matplotlib, TensorFlow, PyTorch.

Python
1# Mount Google Drive
2from google.colab import drive
3drive.mount('/content/drive')
4
5# Đọc file từ Drive
6import pandas as pd
7df = pd.read_csv('/content/drive/MyDrive/data.csv')
8
9# Cài thêm thư viện
10!pip install polars plotly

Kiểm tra môi trường

Python
1import sys
2print(f"Python version: {sys.version}")
3
4libraries = ['pandas', 'numpy', 'matplotlib', 'seaborn', 'sklearn']
5for lib in libraries:
6 try:
7 module = __import__(lib)
8 version = getattr(module, '__version__', 'unknown')
9 print(f"✅ {lib}: {version}")
10 except ImportError:
11 print(f"❌ {lib}: NOT INSTALLED")

Checkpoint

Bạn đã cài đặt Python thành công chưa? Hãy chạy python --version và script kiểm tra phía trên để xác nhận!

4

📦 Variables và Data Types

TB5 min

Biến (Variable) là gì? Hãy tưởng tượng biến như một chiếc hộp có dán nhãn — bạn bỏ dữ liệu vào hộp và dán tên để dễ tìm lại sau.

Tại sao cần biến? Khi phân tích dữ liệu, bạn cần lưu trữ kết quả: tổng doanh thu, số khách hàng, tỷ lệ chuyển đổi... Biến giúp bạn đặt tên có ý nghĩasử dụng lại dữ liệu nhiều lần mà không cần tính lại.

Ví dụ thực tế: Thay vì nhớ con số 1500000, bạn viết doanh_thu_thang_1 = 1_500_000 — code dễ đọc và dễ bảo trì hơn rất nhiều!

Khai báo biến

Python không cần khai báo kiểu dữ liệu — tự động suy luận (Dynamic Typing)!

Python
1# Khai báo biến đơn giản
2name = "MinAI" # String
3age = 25 # Integer
4price = 19.99 # Float
5is_active = True # Boolean
6
7# Multiple assignment
8x, y, z = 1, 2, 3
9a = b = c = 0
10
11# Swap values (Pythonic way!)
12x, y = y, x

Quy tắc đặt tên biến

Python
1# ✅ Hợp lệ
2my_variable = 1
3_private = 5
4
5# ❌ Không hợp lệ
62variable = 1 # Bắt đầu bằng số
7my-variable = 2 # Có dấu gạch ngang
8my variable = 3 # Có khoảng trắng

Convention trong Python (PEP 8)

LoạiConventionVí dụ
Variablesnake_caseuser_name
ConstantUPPER_SNAKEMAX_SIZE
Functionsnake_casecalculate_total()
ClassPascalCaseDataProcessor
Private_prefix_internal_var

Quan trọng: Luôn tuân theo PEP 8 convention. Code Python chuẩn dùng snake_case cho biến và function, PascalCase cho class.

Kiểu dữ liệu cơ bản (Primitive Types)

Python
1# Integer - Số nguyên
2count = 42
3big_num = 1_000_000 # Underscore cho dễ đọc
4
5# Float - Số thực
6pi = 3.14159
7scientific = 1.5e-10 # 1.5 × 10⁻¹⁰
8
9# String - Chuỗi
10name = "Python"
11multiline = """
12This is a
13multiline string
14"""
15
16# Boolean
17is_valid = True
18is_empty = False
19
20# None - Giá trị null
21result = None

Khi nào dùng kiểu nào?

KiểuDùng khiVí dụ trong Data Science
intĐếm số lượng, chỉ sốSố khách hàng, số đơn hàng, tuổi
floatGiá trị đo lường, tỷ lệDoanh thu, chiều cao, tỷ lệ chuyển đổi
strTên, mô tả, nhãnTên sản phẩm, địa chỉ, email
boolTrạng thái có/khôngĐã thanh toán?, VIP?, còn hàng?
NoneGiá trị chưa có / thiếuDữ liệu missing, kết quả chưa tính

Kiểm tra và chuyển đổi kiểu dữ liệu

Tại sao cần chuyển đổi kiểu? Dữ liệu thực tế thường "lộn xộn" — cột tuổi có thể là "25" (string) thay vì 25 (int), cột giá có ký tự "$". Bạn cần convert về đúng kiểu để tính toán được.

Python
1# Kiểm tra kiểu
2x = 42
3print(type(x)) # <class 'int'>
4print(isinstance(x, int)) # True
5print(isinstance(x, (int, float))) # True
6
7# Type Conversion
8num_str = "42"
9num_int = int(num_str) # 42
10num_float = float(num_str) # 42.0
11s = str(100) # "100"
12
13# Boolean conversion
14bool(0) # False | bool(1) # True
15bool("") # False | bool("text") # True
16bool([]) # False | bool([1,2]) # True

Mẹo: Trong Python, các giá trị "rỗng" (0, "", [], None) được coi là False. Các giá trị khác là True. Rất hữu ích khi kiểm tra dữ liệu!

Checkpoint

Hãy thử tạo 4 biến với 4 kiểu dữ liệu khác nhau (int, float, str, bool) và dùng type() kiểm tra từng biến.

5

➕ Operators (Toán tử)

TB5 min

Toán tử (Operator) là gì? Toán tử là ký hiệu đặc biệt dùng để thực hiện phép tính trên dữ liệu — giống +, -, ×, ÷ bạn đã biết, nhưng Python có thêm nhiều toán tử mạnh mẽ hơn.

Tại sao cần học toán tử? Mọi phân tích dữ liệu đều cần tính toán: tính tổng doanh thu (+), so sánh hiệu suất (>), lọc khách hàng theo nhiều điều kiện (and, or), kiểm tra số chẵn/lẻ (%). Toán tử là nền tảng của MỌI thao tác trong Data Science.

Arithmetic Operators (Toán tử số học)

Các phép tính cơ bản — chú ý //, %, ** là những toán tử đặc biệt rất hữu ích:

Python
1a, b = 10, 3
2
3print(a + b) # 13 - Cộng
4print(a - b) # 7 - Trừ
5print(a * b) # 30 - Nhân
6print(a / b) # 3.333... - Chia (float)
7print(a // b) # 3 - Chia lấy phần nguyên
8print(a % b) # 1 - Chia lấy dư (modulo)
9print(a ** b) # 1000 - Lũy thừa (10³)

Ứng dụng thực tế toán tử số học:

  • // (chia lấy nguyên): Phân trang — total_rows // page_size = số trang
  • % (chia lấy dư): Kiểm tra chẵn/lẻ — n % 2 == 0 → số chẵn; năm nhuận year % 4 == 0
  • ** (lũy thừa): Tính lãi kép — goc * (1 + lai_suat) ** so_nam

Comparison Operators (Toán tử so sánh)

So sánh là nền tảng của việc lọc dữ liệu. Khi viết df[df['age'] > 30] trong Pandas, Python dùng toán tử > để so sánh từng giá trị trong cột.

Python
1x, y = 5, 10
2
3print(x == y) # False - Bằng
4print(x != y) # True - Khác
5print(x < y) # True - Nhỏ hơn
6print(x <= y) # True - Nhỏ hơn hoặc bằng
7print(x > y) # False - Lớn hơn
8
9# Chained comparison (Pythonic!)
10age = 25
11print(18 <= age < 65) # True

Logical Operators (Toán tử logic)

Toán tử logic giúp kết hợp nhiều điều kiện. Ví dụ thực tế: lọc khách hàng trên 30 tuổi VÀ chi tiêu trên 1 triệu → Trong Pandas: df[(df['age'] > 30) & (df['spending'] > 1_000_000)].

Python
1a, b = True, False
2
3print(a and b) # False
4print(a or b) # True
5print(not a) # False
6
7# Short-circuit: giá trị "falsy" → lấy default
8name = ""
9display = name or "Anonymous" # "Anonymous"

Assignment Operators (Toán tử gán)

Toán tử gán giúp cập nhật giá trị nhanh — ví dụ: mỗi đơn hàng mới, total += order_value tự động cộng dồn doanh thu.

Python
1x = 10
2x += 5 # x = x + 5 → 15
3x -= 3 # x = x - 3 → 12
4x *= 2 # x = x * 2 → 24
5x /= 4 # x = x / 4 → 6.0
6x //= 2 # x = x // 2 → 3.0
7x **= 2 # x = x ** 2 → 9.0

Lưu ý: // (floor division) luôn làm tròn xuống: 7 // 2 = 3, -7 // 2 = -4. Còn % (modulo) rất hay dùng để kiểm tra chẵn/lẻ: x % 2 == 0 → chẵn.

Checkpoint

Tính giá trị: (10 + 5) * 2 // 3 ** 2 = ? Thử chạy Python kiểm tra đáp án!

6

🔤 Strings (Chuỗi ký tự)

TB5 min

String (chuỗi) là gì? String là dữ liệu dạng văn bản — tên khách hàng, địa chỉ email, mô tả sản phẩm, bình luận... Trong Data Science, phần lớn dữ liệu thực tế chứa text, nên thao tác với string là kỹ năng không thể thiếu.

Ứng dụng thực tế: Khi làm Data Cleaning, bạn thường phải: xóa khoảng trắng thừa (strip()), chuẩn hóa chữ hoa/thường (lower()), tách họ tên (split()), tìm pattern (find()), thay thế giá trị (replace()). Tất cả đều là string operations!

String Operations

Python
1s = "Python Data Science"
2
3# Indexing (0-based)
4print(s[0]) # 'P'
5print(s[-1]) # 'e' (từ cuối)
6
7# Slicing [start:end:step]
8print(s[0:6]) # 'Python'
9print(s[7:]) # 'Data Science'
10print(s[::-1]) # Đảo ngược chuỗi
11
12# Length
13print(len(s)) # 19

String Methods

Python
1text = " Hello World "
2
3# Case methods
4text.lower() # " hello world "
5text.upper() # " HELLO WORLD "
6text.title() # " Hello World "
7
8# Whitespace
9text.strip() # "Hello World"
10text.lstrip() # "Hello World "
11text.rstrip() # " Hello World"
12
13# Find & Replace
14text.find("World") # 8 (index)
15text.replace("World", "Python") # " Hello Python "
16
17# Split & Join
18"a,b,c".split(",") # ['a', 'b', 'c']
19"-".join(['a','b','c']) # "a-b-c"
20
21# Check methods
22"123".isdigit() # True
23"abc".isalpha() # True
24"abc123".isalnum() # True

String Formatting

f-string (Python 3.6+) là cách formatting được khuyến nghị nhất — ngắn gọn, dễ đọc, nhanh nhất.

Python
1name = "MinAI"
2price = 19.99
3quantity = 3
4
5# f-string — Khuyến nghị!
6print(f"Hello, {name}!")
7print(f"Total: ${price * quantity:.2f}")
8
9# Format specifiers
10num = 1234.5678
11print(f"{num:.2f}") # 1234.57 (2 decimals)
12print(f"{num:,.2f}") # 1,234.57 (with comma separator)
13print(f"{num:>10.2f}") # ' 1234.57' (right align, width 10)
14print(f"{num:<10.2f}") # '1234.57 ' (left align)
15
16# Percentage
17ratio = 0.756
18print(f"{ratio:.1%}") # 75.6%
19
20# .format() method (cách cũ hơn)
21print("Hello, {}!".format(name))
22print("{0} costs ${1:.2f}".format("Item", 9.99))

Checkpoint

Cho s = "Python Data Science", hãy viết code: (1) lấy từ "Data", (2) đổi thành chữ hoa, (3) thay "Data" bằng "Machine Learning".

7

💡 Ví dụ thực tế: Phân tích dữ liệu bán hàng

TB5 min

Kết hợp tất cả kiến thức đã học trong một ví dụ thực tế:

Python
1import pandas as pd
2import matplotlib.pyplot as plt
3
4# 1. Đọc dữ liệu
5df = pd.read_csv('sales.csv')
6
7# 2. Xem tổng quan (dùng f-string formatting)
8print(f"Số dòng: {len(df)}")
9print(f"Tổng doanh thu: ${df['revenue'].sum():,.2f}")
10
11# 3. Phân tích theo tháng
12monthly_sales = df.groupby('month')['revenue'].sum()
13
14# 4. Vẽ biểu đồ
15plt.figure(figsize=(10, 6))
16monthly_sales.plot(kind='bar', color='steelblue')
17plt.title('Doanh thu theo tháng')
18plt.xlabel('Tháng')
19plt.ylabel('Doanh thu ($)')
20plt.tight_layout()
21plt.show()

Đừng lo nếu chưa hiểu hết code Pandas và Matplotlib — bạn sẽ học chi tiết ở các bài sau! Mục đích ở đây là thấy được sức mạnh của Python trong phân tích dữ liệu.

Checkpoint

Bạn có nhận ra các khái niệm đã học trong ví dụ này không? (variables, f-string formatting, method calls)

8

📝 Tổng Kết

TB5 min

Câu hỏi tự kiểm tra

  1. Python thuộc loại ngôn ngữ biên dịch (compiled) hay thông dịch (interpreted)? Điều này ảnh hưởng gì đến cách chạy code?
  2. Sự khác biệt giữa toán tử === trong Python là gì?
  3. Cho biến x = "42", làm thế nào để chuyển nó thành số nguyên và cộng thêm 8?
  4. f-string trong Python là gì? Viết một ví dụ sử dụng f-string để hiển thị giá trị biến với 2 chữ số thập phân.

✅ Những điều bạn đã học được

  • 🐍 Python là gì — ngôn ngữ #1 cho Data Science với hệ sinh thái thư viện phong phú
  • 🛠️ Cài đặt môi trường — Anaconda, Jupyter Notebook, VS Code, Google Colab
  • 📦 Variables & Data Types — int, float, str, bool, None; khai báo và chuyển đổi kiểu
  • Operators — Arithmetic, Comparison, Logical, Assignment
  • 🔤 Strings — Indexing, slicing, methods, f-string formatting

Bài tập tự luyện

  1. Tạo 5 biến với 5 kiểu dữ liệu khác nhau, in ra type() của mỗi biến
  2. Viết biểu thức tính BMI: weight / (height ** 2) với weight = 70, height = 1.75
  3. Cho chuỗi s = "data science is amazing", viết code: chuyển Title Case, thay "amazing" bằng "powerful", tách thành list
  4. Sử dụng f-string in ra bảng giá: "Sản phẩm A: 1,234,567.89 VND"

Bài tiếp theo: Python Cơ Bản Phần 2 — Control Flow, Collections, Functions và Error Handling!