# Python Language Basics Learning Objectives: Complete 20-Day Curriculum Guide

> Master Python language basics with this 20-day curriculum. Learn object-oriented programming and write your first Python applications. Ideal for beginners.

- Repository: [骆昊/Python-100-Days](https://github.com/jackfrued/Python-100-Days)
- Tags: getting-started
- Published: 2026-02-24

---

**The Python language basics section in the jackfrued/Python-100-Days repository delivers 20 structured daily lessons that transform complete beginners into competent programmers capable of writing object-oriented Python applications.**

The jackfrued/Python-100-Days repository stands as one of the most comprehensive Chinese-language Python curricula available on GitHub. Its foundational segment, spanning Day 01 through Day 20, establishes concrete learning objectives for the Python language basics section that systematically progress from environment installation to advanced OOP patterns.

## Environment Setup and First Steps (Days 1-3)

The curriculum begins with practical configuration before writing code. According to `Day01-20/01.初识Python.md`, learners must install the official Python 3 interpreter (or Miniconda) on Windows, macOS, or Linux and verify the installation via `python --version` or `python3 --version`.

By Day 2 (`Day01-20/02.第一个Python程序.md`), the focus shifts to interactive development. Learners operate the default REPL, IPython, and Jupyter notebooks for rapid experimentation, then create and execute their first script:

```python

# Hello World from Day 02

print("hello, world")

```

Day 3 (`Day01-20/03.Python语言中的变量.md`) targets variable declaration and type systems. Learners explore **mutable versus immutable types**, perform type conversions, and declare variables across **int**, **float**, **str**, and **bool** types:

```python
age = 25            # int

price = 19.99       # float

name = "Alice"      # str

is_member = True    # bool

```

## Operators and Program Control (Days 4-7)

This phase focuses on computational logic and flow control. Day 4 (`Day01-20/04.Python语言中的运算符.md`) requires mastery of arithmetic, assignment, comparison, logical, and bitwise operators with correct precedence application.

Days 5 and 6 introduce decision-making and iteration. In `Day01-20/05.分支结构.md`, learners implement `if/elif/else` chains and the modern **structural pattern matching** syntax (`match/case`) introduced in Python 3.10:

```python
match age:
    case a if a < 18:
        print("Underage")
    case a if a < 65:
        print("Adult")
    case _:
        print("Senior")

```

Day 6 (`Day01-20/06.循环结构.md`) covers `for` and `while` loops, including `break` and `continue` statements for flow control. Day 7 (`Day01-20/07.分支和循环结构实战.md`) consolidates these skills through algorithmic challenges like prime number detection and Fibonacci sequence generation.

## Core Data Structures (Days 8-13)

This six-day block represents the most intensive technical objective in the Python language basics learning objectives. The curriculum dedicates multiple days to **lists** alone—`Day01-20/08.常用数据结构之列表-1.md` and `Day01-20/09.常用数据结构之列表-2.md`—covering slicing, methods, and list comprehensions:

```python
numbers = [1, 2, 3, 4, 5]
squares = [n**2 for n in numbers]

```

Subsequent days tackle **tuples** (`Day01-20/10.常用数据结构之元组.md`), **strings** (`Day01-20/11.常用数据结构之字符串.md`), **sets** (`Day01-20/12.常用数据结构之集合.md`), and **dictionaries** (`Day01-20/13.常用数据结构之字典.md`). By the end of this section, learners manipulate all core Python data structures with confidence.

## Functions and Modular Design (Days 14-17)

Days 14 through 17 elevate learners from script writers to software engineers. The primary objective in `Day01-20/14.函数和模块.md` is writing reusable functions using positional arguments, keyword arguments, default values, `*args`, and `**kwargs`:

```python
def greet(*names, **options):
    greeting = options.get("greeting", "Hello")
    for n in names:
        print(f"{greeting}, {n}!")

greet("Bob", "Carol", greeting="Hi")

```

Days 15-17 (`Day01-20/15.函数应用实战.md`, `Day01-20/16.函数使用进阶.md`, `Day01-20/17.函数高级应用.md`) progress through **higher-order functions** (`map`, `filter`, `reduce`), lambda expressions, decorators, and recursion patterns.

## Object-Oriented Programming (Days 18-20)

The final three days transition to OOP paradigms. Day 18 (`Day01-20/18.面向对象编程入门.md`) requires learners to create classes, instantiate objects, and implement `__init__` constructors while grasping inheritance and encapsulation:

```python
class Counter:
    def __init__(self, start=0):
        self.value = start
    def inc(self):
        self.value += 1
    def __repr__(self):
        return f"Counter({self.value})"

c = Counter()
c.inc()
print(c)   # Counter(1)

```

Day 19 (`Day01-20/19.面向对象编程进阶.md`) advances to property decorators, `@classmethod`, `@staticmethod`, magic methods, and design patterns. The curriculum culminates on Day 20 (`Day01-20/20.面向对象编程应用.md`) with a capstone project—typically a poker game or salary calculator—that integrates all prior learning objectives for the Python language basics section.

## Summary

- The Python language basics section in jackfrued/Python-100-Days comprises 20 daily lessons spanning environment setup, syntax, control flow, data structures, functions, and OOP.
- Learners progress from writing `print("hello, world")` to implementing classes with inheritance and magic methods.
- Key technical milestones include mastering `match/case` syntax, list comprehensions, `*args/**kwargs` patterns, and higher-order functions.
- Each day concludes with a "总结" (summary) section that reinforces the specific learning objectives achieved.
- The curriculum requires no prior programming experience and targets Python 3.10+ features.

## Frequently Asked Questions

### How long does it take to complete the Python language basics section?

The repository structures content across 20 days, though learners may adjust the pace based on prior experience. Each day's material typically requires 1-2 hours of study and practice, meaning the full section demands approximately 20-40 hours of focused effort to achieve all learning objectives.

### Does the basics section cover Python 2 or Python 3?

The curriculum exclusively targets **Python 3**, specifically leveraging features introduced in Python 3.10 such as the `match/case` structural pattern matching syntax demonstrated in `Day01-20/05.分支结构.md`.

### What prerequisites are needed before starting the Python language basics section?

According to `Day01-20/01.初识Python.md`, the section assumes **zero prior programming experience**. Learners only need a computer running Windows, macOS, or Linux and the ability to install software from the official Python website or Miniconda distribution.

### Are there practical exercises to test the learning objectives?

Yes. Days 7, 15, and 20 specifically focus on practical application. Day 7 presents algorithmic challenges combining branches and loops, while Day 20 requires building a complete object-oriented project that integrates data structures, functions, and classes.