Mục lục
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 Anh
age = 20 # Ví dụ: tuổi = 20
if 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 Development:
# Web Development Example
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello World!")
Data Science:
# Data Science Example
import pandas as pd
# Giả sử đã có file sales.csv
data = pd.read_csv('sales.csv')
print(data.describe())
Machine Learning:
# Machine Learning Example
from sklearn.linear_model import LinearRegression
import numpy as np
# Tạo dữ liệu mẫu
X_train = np.array([[1], [2], [3], [4], [5]])
y_train = np.array([2, 4, 6, 8, 10])
# Train model
model = LinearRegression()
model.fit(X_train, y_train)
# Dự đoán
X_test = np.array([[6]])
prediction = model.predict(X_test)
print(f"Prediction for X=6: {prediction[0]}")
Automation:
# Automation Example
import os
# Liệt kê tất cả file .txt trong thư mục hiện tại
for 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ặc
python3 --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 Python
brew 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 update
sudo apt install python3.11 python3-pip
Xác Nhận Cài Đặt
# Kiểm tra Python
python3 --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 darwin
Type "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ụ:
# Ví dụ các lệnh Python cơ bản
# (Giống như khi dùng Python REPL)
# Phép tính
print(2 + 2)
# Output: 4
# In chuỗi
print("Hello, Python!")
# Output: Hello, Python!
# Sử dụng biến
name = "An"
print(f"Xin chào, {name}!")
# Output: Xin chào, An!
# List và function
numbers = [1, 2, 3, 4, 5]
print(sum(numbers))
# Output: 15
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-learning
cd python-learning
Bước 2: Tạo file hello.py
touch hello.py # macOS/Linux
# hoặc
type nul > hello.py # Windows
Bước 3: Mở file với text editor (VS Code, Sublime, Notepad++)
Bước 4: Viết code
# hello.py
print("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ùng
name = input("Tên bạn là gì? ")
age = input("Bạn bao nhiêu tuổi? ")
# In ra thông tin
print(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ì? An
Bạ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 comment
Có thể viết nhiều dòng
Thường dùng cho docstrings
"""
# In ra thông điệp
print("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 arguments
print("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!
Cách SAI:
# SAI ❌ - Ví dụ lỗi thường gặp
# Đoạn code này sẽ báo lỗi!
age = input("Tuổi bạn? ")
# input() trả về string, không thể cộng với số
next_year = age + 1 # LỖI! TypeError: can only concatenate str (not "int") to str
Cách ĐÚNG:
# ĐÚNG ✅
age = input("Tuổi bạn? ")
age = int(age) # Convert sang integer
next_year = age + 1
print(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án
tong = num1 + num2
hieu = num1 - num2
tich = num1 * num2
thuong = 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: 10
Nhập số thứ hai: 3
10.0 + 3.0 = 13.0
10.0 - 3.0 = 7.0
10.0 × 3.0 = 30.0
10.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òng
def some_function(arg1, arg2, arg3, arg4):
"""Ví dụ function với nhiều arguments"""
return arg1 + arg2 + arg3 + arg4
# Gọi function với xuống dòng để dễ đọc
result = some_function(
argument1=10,
argument2=20,
argument3=30,
argument4=40
)
print(f"Result: {result}")
3. Naming Conventions
# Variables và functions: snake_case
user_name = "An"
def calculate_total():
pass
# Constants: UPPER_CASE
MAX_SIZE = 100
PI = 3.14159
# Classes: PascalCase
class UserProfile:
pass
4. Whitespace
ĐÚNG ✅:
# ĐÚNG ✅ - Whitespace đúng chuẩn PEP 8
x = 1 + 2
my_list = [1, 2, 3]
print(f"x = {x}")
print(f"my_list = {my_list}")
SAI ❌:
# SAI ❌ - Whitespace không đúng chuẩn (khó đọc)
x=1+2
my_list=[1,2,3]
print(f"x = {x}")
print(f"my_list = {my_list}")
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!
