How to: Day01~20 - Python语言基础
#### Day01 - [初识Python](./Day01-20/01.初识Python.md)

1. Python简介
    - Python编年史
    - Python优缺点
    - Python应用领域
2. 安装Python环境
    - Windows环境
    - macOS环境

#### Day02 - [第一个Python程序](./Day01-20/02.第一个Python程序.md)

1. 编写代码的工具
2. 你好世界
3. 注释你的代码

#### Day03 - [Python语言中的变量](./Day01-20/03.Python语言中的变量.md)

1. 一些常识
2. 变量和类型
3. 变量命名
4. 变量的使用

#### Day04 - [Python语言中的运算符](./Day01-20/04.Python语言中的运算符.md)

1. 算术运算符
2. 赋值运算符
3. 比较运算符和逻辑运算符
4. 运算符和表达式应用
    - 华氏和摄氏温度转换
    - 计算圆的周长和面积
    - 判断闰年

#### Day05 - [分支结构](./Day01-20/05.分支结构.md)

1. 使用if和else构造分支结构
2. 使用match和case构造分支结构
3. 分支结构的应用
    - 分段函数求值
    - 百分制成绩转换成等级
    - 计算三角形的周长和面积

#### Day06 - [循环结构](./Day01-20/06.循环结构.md)

1. for-in循环
2. while循环
3. break和continue
4. 嵌套的循环结构
5. 循环结构的应用
    - 判断素数
    - 最大公约数
    - 猜数字游戏

#### Day07 - [分支和循环结构实战](./Day01-20/07.分支和循环结构实战.md)

1. 例子1：100以内的素数
2. 例子2：斐波那契数列
3. 例子3：寻找水仙花数
4. 例子4：百钱百鸡问题
5. 例子5：CRAPS赌博游戏

#### Day08 - [常用数据结构之列表-1](./Day01-20/08.常用数据结构之列表-1.md)

1. 创建列表
2. 列表的运算
3. 元素的遍历

#### Day09 - [常用数据结构之列表-2](./Day01-20/09.常用数据结构之列表-2.md)

1. 列表的方法
    - 添加和删除元素
    - 元素位置和频次
    - 元素排序和反转
2. 列表生成式
3. 嵌套列表
4. 列表的应用

#### Day10 - [常用数据结构之元组](./Day01-20/10.常用数据结构之元组.md)

1. 元组的定义和运算
2. 打包和解包操作
3. 交换变量的值
4. 元组和列表的比较

#### Day11 - [常用数据结构之字符串](./Day01-20/11.常用数据结构之字符串.md)

1. 字符串的定义
    - 转义字符
    - 原始字符串
    - 字符的特殊表示
2. 字符串的运算
    - 拼接和重复
    - 比较运算
    - 成员运算
    - 获取字符串长度
    - 索引和切片
3. 字符的遍历
4. 字符串的方法
    - 大小写相关操作
    - 查找操作
    - 性质判断
    - 格式化
    - 修剪操作
    - 替换操作
    - 拆分与合并
    - 编码与解码
    - 其他方法

#### Day12 - [常用数据结构之集合](./Day01-20/12.常用数据结构之集合.md)

1. 创建集合
2. 元素的变量
3. 集合的运算
    - 成员运算
    - 二元运算
    - 比较运算
4. 集合的方法
5. 不可变集合

#### Day13 - [常用数据结构之字典](./Day01-20/13.常用数据结构之字典.md)

1. 创建和使用字典
2. 字典的运算
3. 字典的方法
4. 字典的应用

#### Day14 - [函数和模块](./Day01-20/14.函数和模块.md)

1. 定义函数
2. 函数的参数
    - 位置参数和关键字参数
    - 参数的默认值
    - 可变参数
3. 用模块管理函数
4. 标准库中的模块和函数

#### Day15 - [函数应用实战](./Day01-20/15.函数应用实战.md)

1. 例子1：随机验证码
2. 例子2：判断素数
3. 例子3：最大公约数和最小公倍数
4. 例子4：数据统计
5. 例子5：双色球随机选号

#### Day16 - [函数使用进阶](./Day01-20/16.函数使用进阶.md)

1. 高阶函数
2. Lambda函数
3. 偏函数

#### Day17 - [函数高级应用](./Day01-20/17.函数高级应用.md)

1. 装饰器
2. 递归调用

#### Day18 - [面向对象编程入门](./Day01-20/18.面向对象编程入门.md)

1. 类和对象
2. 定义类
3. 创建和使用对象
4. 初始化方法
5. 面向对象的支柱
6. 面向对象案例
    - 例子1：数字时钟
    - 例子2：平面上的点

#### Day19 - [面向对象编程进阶](./Day01-20/19.面向对象编程进阶.md)

1. 可见性和属性装饰器
2. 动态属性
3. 静态方法和类方法
4. 继承和多态

#### Day20 - [面向对象编程应用](./Day01-20/20.面向对象编程应用.md)

1. 扑克游戏
2. 工资结算系统