Bài 1: Giới Thiệu Python
Mục Tiêu Bài Học
Sau khi hoàn thành bài này, bạn sẽ:
- ✅ Hiểu Python là gì và tại sao nên học Python
- ✅ Biết các ứng dụng thực tế của Python
- ✅ Cài đặt Python trên máy tính
- ✅ Sử dụng Python REPL (Interactive Shell)
- ✅ Viết và chạy chương trình Python đầu tiên
Python Là Gì?
Python là ngôn ngữ lập trình bậc cao (high-level), thông dịch (interpreted), đa mục đích (general-purpose) được tạo ra bởi Guido van Rossum vào năm 1991.
Lịch Sử Ra Đời
Bối Cảnh:
Vào cuối những năm 1980, Guido van Rossum - một lập trình viên người Hà Lan - đang làm việc tại Centrum Wiskunde & Informatica (CWI) ở Amsterdam. Ông cảm thấy không hài lòng với các ngôn ngữ lập trình hiện có vào thời điểm đó:
- C/C++: Quá phức tạp và khó học
- ABC: Ngôn ngữ Guido từng làm việc, nhưng có nhiều hạn chế
Dự Án Bắt Đầu:
Vào tháng 12/1989, trong kỳ nghỉ Giáng Sinh, Guido bắt đầu viết Python như một dự án hobby. Ông muốn tạo ra một ngôn ngữ:
- Dễ đọc như tiếng Anh
- Đơn giản như ABC nhưng mạnh mẽ như C
- Có thể thay thế shell scripting
Tên Gọi:
Python được đặt tên theo chương trình hài BBC "Monty Python's Flying Circus" mà Guido rất yêu thích - KHÔNG phải theo loài rắn Python! 🐍
Các Mốc Quan Trọng:
- 1991: Python 0.9.0 ra mắt với
classes,exceptions,functions - 1994: Python 1.0 với
lambda,map,filter,reduce - 2000: Python 2.0 với list comprehensions, garbage collection
- 2008: Python 3.0 - phiên bản không tương thích ngược, fix nhiều vấn đề thiết kế
- 2020: Python 2 chính thức kết thúc support (EOL)
Ai Đang Duy Trì Python?
Guido van Rossum - "Benevolent Dictator For Life" (BDFL)
- Từ 1991-2018, Guido là người đưa ra quyết định cuối cùng về Python
- Tháng 7/2018, Guido tuyên bố từ chức BDFL
- Hiện tại, Guido vẫn là core developer nhưng không còn là người quyết định duy nhất
Python Software Foundation (PSF)
- Thành lập năm 2001
- Tổ chức phi lợi nhuận quản lý Python
- Bảo vệ trí tuệ của Python
- Tổ chức PyCon và các sự kiện
- Website: https://www.python.org/psf/
Python Steering Council
- Từ 2019, Python được quản lý bởi 5-member Steering Council
- Được bầu mỗi năm bởi core developers
- Đưa ra quyết định về hướng phát triển Python
- Thành viên hiện tại (2024-2025):
- Barry Warsaw
- Brett Cannon
- Carol Willing
- Emily Morehouse
- Thomas Wouters
Core Developers
- Hơn 100 core developers có quyền commit code
- Hàng nghìn contributors trên GitHub
- Community-driven development
Công Ty Hỗ Trợ:
- Google: Guido làm việc tại Google (2005-2012)
- Dropbox: Guido làm việc tại Dropbox (2013-2019)
- Microsoft: Guido hiện đang làm việc tại Microsoft (2020-nay)
- Nhiều công ty khác sponsor PSF: Amazon, Facebook, Bloomberg, etc.
Đặc Điểm Nổi Bật
1. Dễ Học, Dễ Đọc
# Code Python dễ hiểu như tiếng Anhif age >= 18: print("Bạn đã trưởng thành")else: print("Bạn chưa trưởng thành")
2. Ngôn Ngữ Thông Dịch
- Không cần compile trước khi chạy
- Chạy từng dòng code tuần tự
- Dễ dàng test và debug
3. Đa Nền Tảng
- Chạy trên Windows, macOS, Linux
- "Write once, run anywhere"
4. Thư Viện Phong Phú
- 300,000+ packages trên PyPI
- Từ web, data science đến AI/ML
5. Cộng Đồng Lớn
- Hàng triệu developers trên thế giới
- Tài liệu, tutorial dồi dào
- Active support trên forums
Tại Sao Nên Học Python?
1. Thị Trường Việc Làm Rộng Mở
Python là một trong những ngôn ngữ được trả lương cao nhất:
- Web Developer: Django, Flask, FastAPI
- Data Scientist: NumPy, Pandas, Scikit-learn
- AI/ML Engineer: TensorFlow, PyTorch
- DevOps Engineer: Automation, Scripting
- Backend Developer: APIs, Microservices
2. Học Một Lần, Áp Dụng Nhiều Nơi
# Web Developmentfrom django.http import HttpResponse def hello(request): return HttpResponse("Hello World!") # Data Scienceimport pandas as pddata = pd.read_csv('sales.csv')print(data.describe()) # Machine Learningfrom sklearn.linear_model import LinearRegressionmodel = LinearRegression()model.fit(X_train, y_train) # Automationimport osfor file in os.listdir('.'): if file.endswith('.txt'): print(f"Found: {file}")
3. Beginner-Friendly
So sánh "Hello World" với các ngôn ngữ khác:
Python:
print("Hello, World!")
Java:
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); }}
C++:
#include <iostream>using namespace std; int main() { cout << "Hello, World!" << endl; return 0;}
→ Python ngắn gọn, dễ hiểu nhất!
Ứng Dụng Của Python
1. Web Development
- Django: Instagram, Pinterest, Mozilla
- Flask: Netflix, Reddit
- FastAPI: Microsoft, Uber
2. Data Science & Analytics
- Pandas: Data manipulation
- NumPy: Numerical computing
- Matplotlib/Seaborn: Data visualization
3. Machine Learning & AI
- TensorFlow: Google's ML framework
- PyTorch: Facebook's ML framework
- Scikit-learn: Traditional ML algorithms
4. Automation & Scripting
- File operations
- Web scraping
- Task automation
- Testing
5. Game Development
- Pygame: 2D games
- Panda3D: 3D games
6. Desktop Applications
- Tkinter: GUI applications
- PyQt: Professional desktop apps
Cài Đặt Python
Kiểm Tra Python Đã Có Chưa
Mở Terminal (macOS/Linux) hoặc Command Prompt (Windows):
python --version# hoặcpython3 --version
Output mong muốn:
Python 3.11.5
Cài Đặt Python Mới
macOS
Cách 1: Homebrew (Khuyến nghị)
# Cài Homebrew nếu chưa có/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # Cài Pythonbrew install [email protected]
Cách 2: Download từ python.org
- Truy cập: https://www.python.org/downloads/
- Download Python 3.11+
- Chạy file .pkg và làm theo hướng dẫn
Windows
- Truy cập: https://www.python.org/downloads/
- Download Python 3.11+
- Chạy installer
- ⚠️ QUAN TRỌNG: Tick vào "Add Python to PATH"
- Click "Install Now"
Linux (Ubuntu/Debian)
sudo apt updatesudo apt install python3.11 python3-pip
Xác Nhận Cài Đặt
# Kiểm tra Pythonpython3 --version # Kiểm tra pip (package manager)pip3 --version
Python REPL (Interactive Shell)
REPL = Read-Eval-Print-Loop
Khởi Động REPL
python3
Output:
Python 3.11.5 (main, Sep 11 2023, 13:54:46)[Clang 14.0.6 ] on darwinType "help", "copyright", "credits" or "license" for more information.>>>
Sử Dụng REPL
REPL rất hữu ích để:
- Test nhanh code
- Học cú pháp Python
- Tính toán đơn giản
- Thử nghiệm functions
Ví dụ:
>>> 2 + 24 >>> print("Hello, Python!")Hello, Python! >>> name = "An">>> print(f"Xin chào, {name}!")Xin chào, An! >>> numbers = [1, 2, 3, 4, 5]>>> sum(numbers)15 >>> # Thoát REPL>>> exit()
Lưu ý:
>>>là Python prompt- Nhấn Enter để chạy lệnh
- Dùng
exit()hoặcCtrl+D(macOS/Linux) /Ctrl+Z(Windows) để thoát
Chương Trình Python Đầu Tiên
Tạo File Python
Bước 1: Tạo thư mục project
mkdir python-learningcd python-learning
Bước 2: Tạo file hello.py
touch hello.py # macOS/Linux# hoặctype nul > hello.py # Windows
Bước 3: Mở file với text editor (VS Code, Sublime, Notepad++)
Bước 4: Viết code
# hello.pyprint("Hello, World!")print("Chào mừng đến với Python!")print("Python thật tuyệt vời!")
Bước 5: Chạy chương trình
python3 hello.py
Output:
Hello, World!Chào mừng đến với Python!Python thật tuyệt vời!
Chương Trình Có Tương Tác
# greeting.py# Chương trình chào hỏi người dùng # Lấy input từ người dùngname = input("Tên bạn là gì? ")age = input("Bạn bao nhiêu tuổi? ") # In ra thông tinprint(f"\nXin chào {name}!")print(f"Bạn {age} tuổi.")print(f"Chúc {name} học Python vui vẻ!")
Chạy chương trình:
python3 greeting.py
Tương tác:
Tên bạn là gì? AnBạn bao nhiêu tuổi? 25 Xin chào An!Bạn 25 tuổi.Chúc An học Python vui vẻ!
Comments Trong Python
Comments giúp giải thích code:
# Đây là single-line comment """Đây là multi-line commentCó thể viết nhiều dòngThường dùng cho docstrings""" # In ra thông điệpprint("Hello") # Comment cuối dòng
Lưu ý:
#cho single-line comment"""..."""hoặc'''...'''cho multi-line- Comments không được execute
Print() Function
print() là function cơ bản nhất trong Python.
Cú Pháp Cơ Bản
print("Hello")print('Hello') # Single hoặc double quotes đều OK
In Nhiều Giá Trị
print("Python", "is", "awesome")# Output: Python is awesome
Separator Tùy Chỉnh
print("Python", "is", "awesome", sep="-")# Output: Python-is-awesome print("2024", "10", "25", sep="/")# Output: 2024/10/25
End Character Tùy Chỉnh
print("Hello", end=" ")print("World")# Output: Hello World print("Loading", end="...")print("Done")# Output: Loading...Done
Print Với Variables
name = "An"age = 25 # Cách 1: Concatenation (nối chuỗi)print("Tên: " + name) # Cách 2: Multiple argumentsprint("Tên:", name, "- Tuổi:", age) # Cách 3: f-strings (Python 3.6+) - Khuyến nghịprint(f"Tên: {name}, Tuổi: {age}")
Input() Function
input() nhận dữ liệu từ người dùng.
Cú Pháp Cơ Bản
name = input("Tên bạn là gì? ")print(f"Xin chào, {name}!")
Lưu Ý Quan Trọng
⚠️ input() luôn trả về string!
# SAI ❌age = input("Tuổi bạn? ")next_year = age + 1 # LỖI! Không thể cộng string với number # ĐÚNG ✅age = input("Tuổi bạn? ")age = int(age) # Convert sang integernext_year = age + 1print(f"Năm sau bạn {next_year} tuổi")
Ví Dụ Thực Tế
# calculator.py - Máy tính đơn giản print("=== MÁY TÍNH ĐƠN GIẢN ===") # Nhập hai sốnum1 = float(input("Nhập số thứ nhất: "))num2 = float(input("Nhập số thứ hai: ")) # Tính toántong = num1 + num2hieu = num1 - num2tich = num1 * num2thuong = num1 / num2 # In kết quảprint(f"\n{num1} + {num2} = {tong}")print(f"{num1} - {num2} = {hieu}")print(f"{num1} × {num2} = {tich}")print(f"{num1} ÷ {num2} = {thuong:.2f}")
Output:
=== MÁY TÍNH ĐƠN GIẢN ===Nhập số thứ nhất: 10Nhập số thứ hai: 3 10.0 + 3.0 = 13.010.0 - 3.0 = 7.010.0 × 3.0 = 30.010.0 ÷ 3.0 = 3.33
Python Style Guide (PEP 8)
PEP 8 là coding style guide chính thức của Python.
Một Số Quy Tắc Cơ Bản
1. Indentation (Thụt đầu dòng)
# Dùng 4 spaces (KHÔNG dùng tabs)if True: print("Correct indentation")
2. Line Length
# Tối đa 79 characters mỗi dòng# Nếu dài quá, xuống dòngresult = some_function( argument1, argument2, argument3, argument4)
3. Naming Conventions
# Variables và functions: snake_caseuser_name = "An"def calculate_total(): pass # Constants: UPPER_CASEMAX_SIZE = 100PI = 3.14159 # Classes: PascalCaseclass UserProfile: pass
4. Whitespace
# ĐÚNG ✅x = 1 + 2my_list = [1, 2, 3] # SAI ❌x=1+2my_list=[1,2,3]
Bài Tập Thực Hành
Bài 1: Hello với Tên
Viết chương trình:
- Hỏi tên người dùng
- In ra "Xin chào [tên]!"
Bài 2: Tính Tuổi
Viết chương trình:
- Hỏi năm sinh
- Tính và in ra tuổi hiện tại (2025 - năm sinh)
Bài 3: Profile Card
Viết chương trình tạo profile card:
===== PROFILE CARD =====Tên: [input]Tuổi: [input]Nghề nghiệp: [input]Sở thích: [input]========================
Bài 4: Converter
Viết chương trình chuyển đổi:
- Nhập độ C (Celsius)
- Chuyển sang độ F (Fahrenheit)
- Công thức: F = C × 9/5 + 32
Bài 5: Mini Story
Viết chương trình tạo story:
- Hỏi: tên nhân vật, địa điểm, hoạt động
- In ra câu chuyện: "[tên] đang [hoạt động] tại [địa điểm]"
Tóm Tắt
✅ Python là ngôn ngữ dễ học, đa năng, phổ biến
✅ Ứng dụng rộng: Web, Data Science, AI/ML, Automation
✅ Cài đặt Python từ python.org hoặc Homebrew
✅ REPL để test code nhanh
✅ print() để output, input() để nhận input
✅ File Python có đuôi .py
✅ Chạy file: python3 filename.py
✅ Comments với # hoặc """..."""
✅ Follow PEP 8 style guide
Bài Tiếp Theo
Bài 2: Variables và Data Types - Học cách lưu trữ và xử lý dữ liệu trong Python.
Tips:
- Practice coding mỗi ngày, dù chỉ 15-30 phút
- Đọc code của người khác trên GitHub
- Join Python communities (Reddit r/learnpython, Discord servers)
- Đừng copy-paste code, hãy gõ tay để nhớ lâu hơn!