1. 第一章:你好Python
    1. 初识Python
      1. Python的起源
        1. 1989年
          1. 吉多范罗苏姆在圣诞节假期决心开发一个新的解释器程序,Python的雏形
        2. 1991年
          1. 第一个Python解释器程序诞生
        3. Python名字由来
          1. 来自于吉多范罗苏姆喜欢的电视剧:Monty Python's Flying Circus
      2. 为什么选择Python
        1. 优雅
          1. 简单
          2. 易学
          3. 开发效率高
        2. 适用面非常广泛
    2. 什么是编程语言
      1. 概念
        1. 人类和计算机交流的一种专有领域的语言
      2. 工作原理
        1. 将代码翻译成计算机可以识别的二进制,让计算机工作做出相应的反馈
    3. Python的安装
    4. 第一个Python程序
      1. print("Hello World")
        1. 标点符号一定要是英文符号
      2. 常见问题
        1. 找不到命令提示符
          1. 快捷键:win+R
          2. 输入cmd按回车
        2. python不是内部或外部命令
          1. 安装python的时候没有勾选ADD PYTHON TO PATH
          2. 解决方法:卸载Python重新安装
        3. SyntaxError:invalid character
          1. 标点符号写成了中文符号
    5. Python的解释器
      1. 计算机只认识什么?
        1. 二进制0和1
      2. Python解释器的作用
        1. 将Python代码翻译成计算机能够识别的二进制0和1
        2. 然后将翻译过后的二进制提交给计算机执行
      3. “.py”
        1. Python语言的代码文件,里面记录的是python的代码
      4. Python解释器程序在哪里?
        1. <Python>的安装目录/python.exe
    6. python的开发环境
      1. IDE和编辑器
        1. 主流的就是vscode和PyCharm
  2. 第二章:Python的基本语法
    1. 字面量
      1. 什么是字面量?
        1. 在代码中,被写下来的固定的值
      2. 常见的字面量类型
        1. 数字
          1. 整数
          2. 10,-10
          3. 浮点数
          4. 13.14,-13.14
          5. 复数
          6. 布尔
        2. 字符串
          1. 又称文本,是由任意数量的字符如中文、英文、各类符号、数字等组成
          2. Python中,字符串需要用双引号“ ”包围起来
          3. 被引号包围起来的,都是字符串
        3. 列表
        4. 元组
        5. 集合
        6. 字典
      3. 输出字面量
        1. print(字面量)
          1. print(10),输出整数10
          2. print(13.14),输出浮点数13.14
          3. print("鸿鹰"),输出字符串:鸿鹰
    2. 注释
      1. 含义
        1. 在程序代码中对程序代码进行解释说明的文字
      2. 作用
        1. 注释不是程序,不能被执行,只是对程序代码进行解释说明,让别人可以看懂程序代码的作用,能够大大增强程序的可读性。
      3. 分类
        1. 单行注释
          1. 以 #开头,#右边 的所有文字当作说明,而不是真正要执行的程序,起辅助说明作用
          2. 建议在#号和注释内容之间,间隔一个空格
          3. 单行注释一般用于对一行或一小部分代码进行解释
        2. 多行注释
          1. 通过一对三个引号来定义("""注释内容"""),引号内部均是注释,可以换行
          2. 多行注释一般对:Python文件、类或方法进行解释
    3. 变量
      1. 什么是变量
        1. 在程序运行时,能储存计算结果或能表示值的抽象概念。
        2. 变量就是在程序运行时,记录数据用的
      2. 定义格式
        1. 变量名称=变量值
          1. 每一个变量都有自己的名称,称之为:变量名,也就是变量本身
          2. 赋值,表示将等号右侧的值,赋予左侧的变量
          3. 每一个变量都有自己存储的值(内容),称之为:变量值
      3. 特征
        1. 变量存储的数据,是可以发生改变的。
      4. 为什么要使用变量
        1. 变量的目的是存储运行过程的数据
        2. 存储的目的是为了:重复使用
      5. print如何输出多份内容
        1. print(内容1, 内容2, ......, 内容N)
    4. 数据类型
      1. 分类
        1. string
          1. 字符串类型
        2. int
          1. 整型
        3. float
          1. 浮点型
      2. 如何验证数据的类型
        1. type(被查看类型的数据)
          1. 在print语句中,直接输出类型信息
          2. 用变量存储type()的结果(返回值)
          3. type查看变量中存储的数据类型
      3. 变量有类型吗?
        1. 变量无类型,但是它存储的数据有
    5. 数据类型转换
      1. 数据类型之间,在特定的场景下,是可以相互转换的,如字符串转数字、数字转字符串等
      2. 为什么要转换类型
        1. 数据类型转换,将会是我们以后经常使用的功能。
          1. 从文件中读取的数字,默认是字符串,我们需要转换成数字类型
          2. 后续学习的input()语句,默认结果是字符串,若需要数字也需要转换
          3. 将数字转换成字符串用以写出到外部系统
      3. 转换语句
        1. int(x)
          1. 将x转换为一个整数
        2. float(x)
          1. 将x转换为一个浮点数
        3. str(x)
          1. 将 x 转换为字符串
      4. 注意事项
        1. 任何类型,都可以通过str(),转换成字符串
        2. 字符串内必须真的是数字,才可以将字符串转换为数字
        3. 浮点数转整数会丢失精度,就是丢失小数部分。
      5. 这三个语句,都是带有结果的(返回值),我们可以用print直接输出 或用变量存储结果值
    6. 标识符
      1. 什么是标识符
        1. 用户在编程的时候所使用的一系列名字,用于给变量、类、方法等命名。
      2. 命名规则
        1. 内容限定
          1. 标识符命名只允许出现中文,英文,下划线,数字
          2. 不推荐使用中文
          3. 数字不可以开头
        2. 大小写敏感
          1. 定义变量字母的大小写是能够区分的
        3. 不可使用关键字
          1. Python中有一系列单词,称之为关键字
          2. 关键字在Python中都有特定用途
          3. 我们不可以使用它们作为标识符
      3. 命名规范
        1. 见名知意
          1. 明了:尽量做到,看到名字,就知道是什么意思
          2. 简洁:尽量在确保“明了”的前提下,减少名字的长度
        2. 下划线命名法
          1. 多个单词组合变量名,要使用下划线做分隔
        3. 驼峰命名法
          1. 多个单词组合变量名,第一个单词全小写,其余单词首字母大写
        4. 英文字母全小写
          1. 命名变量中的英文字母,应全部小写
    7. 运算符
      1. 算术运算符
        1. +
          1. 两个对象相加 a + b 输出结果 30
        2. -
          1. 得到负数或是一个数减去另一个数 a - b 输出结果 -10
        3. *
          1. 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
        4. /
          1. b / a 输出结果 2
        5. //
          1. 取整除
          2. 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0
        6. %
          1. 取余
          2. 返回除法的余数 b % a 输出结果 0
        7. **
          1. 指数
          2. a**b 为10的20次方, 输出结果 100000000000000000000
      2. 赋值运算符
        1. 标准赋值运算符
          1. =
          2. 把 = 号右边的结果 赋给 左边的变量,如 num = 1 + 2 * 3,结果num的值为7
        2. 复合赋值运算符
          1. +=
          2. 加法赋值运算符
          3. c += a 等效于 c = c + a
          4. -=
          5. 减法赋值运算符
          6. c -= a 等效于 c = c - a
          7. *=
          8. 乘法赋值运算符
          9. c *= a 等效于 c = c * a
          10. /=
          11. 除法赋值运算符
          12. c /= a 等效于 c = c / a
          13. %=
          14. 取模赋值运算符
          15. c %= a 等效于 c = c % a
          16. **=
          17. 幂赋值运算符
          18. c **= a 等效于 c = c ** a
          19. //=
          20. 取整除赋值运算符
          21. c //= a 等效于 c = c // a
    8. 字符串扩展
      1. 字符串的三种定义方式
        1. 单引号定义法
        2. 双引号定义法
        3. 三引号定义法
          1. 三引号定义法,和多行注释的写法一样,同样支持换行操作。
          2. 使用变量接收它,它就是字符串
          3. 不使用变量接收它,就可以作为多行注释使用。
        4. 字符串的引号嵌套
          1. 单引号定义法,可以内含双引号
          2. 双引号定义法,可以内含单引号
          3. 可以使用转移字符(\)来将引号解除效用,变成普通字符串
      2. 字符串拼接
        1. 有两个字符串(文本)字面量,可以将其拼接成一个字符串,通过+号即可完成
        2. 单纯的2个字符串字面量进行拼接显得很呆,一般,字面量和变量或变量和变量之间会使用拼接
        3. 无法和非字符串类型进行拼接
      3. 字符串格式化
        1. %s
          1. 将内容转换成字符串,放入占位位置
        2. %d
          1. 将内容转换成整数,放入占位位置
        3. %f
          1. 将内容转换成浮点型,放入占位位置
      4. 格式化的精度控制
        1. 使用辅助符号"m.n"来控制数据的宽度和精度
          1. m,控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效
          2. .n,控制小数点精度,要求是数字,会进行小数的四舍五入
          3. m和.n均可省略
      5. 字符串格式化方式2
        1. 通过语法:f"内容{变量}"的格式来快速格式化
          1. 这种写法不做精度控制
          2. 也不理会类型
          3. 适用于快速格式化字符串
      6. 对表达式进行格式化
        1. 什么是表达式
          1. 一条具有明确执行结果的代码语句
          2. 1 + 1、5 * 2,就是表达式,因为有具体的结果,结果是一个数字
          3. 常见的变量定义:name = “张三” age = 11 + 11
          4. 等号右侧的都是表达式呢,因为它们有具体的结果,结果赋值给了等号左侧的变量。
        2. 什么时候使用
          1. 在无需使用变量进行数据存储的时候,可以直接格式化表达式,简化代码
      7. 多个变量占位变量要用括号括起来并按照占位的顺序填入
    9. 数据输入
      1. input
        1. 使用input()语句可以从键盘获取输入
        2. 使用一个变量接收(存储)input语句获取的键盘输入数据即可
        3. input()语句其实是可以在要求使用者输入内容前,输出提示内容的
        4. 无论键盘输入什么类型的数据,获取到的数据永远都是字符串类型