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

  1. Truy cập: https://www.python.org/downloads/
  2. Download Python 3.11+
  3. Chạy file .pkg và làm theo hướng dẫn

Windows

  1. Truy cập: https://www.python.org/downloads/
  2. Download Python 3.11+
  3. Chạy installer
  4. ⚠️ QUAN TRỌNG: Tick vào "Add Python to PATH"
  5. 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ặc Ctrl+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() 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
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:

  1. Hỏi tên người dùng
  2. In ra "Xin chào [tên]!"

Bài 2: Tính Tuổi

Viết chương trình:

  1. Hỏi năm sinh
  2. 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:

  1. Nhập độ C (Celsius)
  2. Chuyển sang độ F (Fahrenheit)
  3. Công thức: F = C × 9/5 + 32

Bài 5: Mini Story

Viết chương trình tạo story:

  1. Hỏi: tên nhân vật, địa điểm, hoạt động
  2. 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!