返回
查看原链接原链接
Bilibili30分38秒 · —

Python 零基础入门课程笔记(第一节)

Python 零基础入门课程笔记(第一节)

本节课程是一个面向零基础学习者的 Python 入门课程的第一部分,系统讲解了环境搭建、print 输出函数、input 输入函数、格式化输出以及变量与对象的基础概念,为后续深入的数据类型与程序结构学习奠定基础。

课程整体介绍

大家好,我是倪。这是一期零基础入门 Python 的课程,预计时长为 2 到 3 个小时,将完整讲完。本课程适用于以下方向的学习者:

  • 人工智能
  • 深度学习
  • 机器学习
  • Python 开发
  • 爬虫开发

本课程整体内容分为四个主要部分:

章节主题覆盖内容
第一节Python 内置函数入门print 输出函数、input 输入函数、变量的定义和使用
第二节六大数据类型六大数据类型的增删改查,字符串、列表、字典等对应的操作
第三节程序结构顺序、分支、循环结构,函数的定义和调用,递归及 Python 案例
第四节面向对象编程类和对象的定义与使用,封装、继承、多态

此外,课程还包含后续的数据分析内容,涉及数据分析三剑客 —— NumPy、Pandas、Matplotlib(原文中提及为 "long ppas没p友group" 等,按常见术语记作 NumPy、Pandas 和 Matplotlib 等库),这三个库可用于数据挖掘、深度学习绘图、机器学习数据处理,并会配合机器学习和深度学习的库结合理论与项目进行讲解。

环境搭建

Anaconda 安装与环境管理

学习本节之前,需要先搭建好 Python 开发环境。推荐使用 Anaconda 管理环境。

安装步骤:

  1. 打开浏览器,搜索 "Anaconda",点击第一个结果。
  2. 点击 "Download" 按钮,选择对应自己电脑的版本下载(Windows、macOS、Linux),本课程以 Windows 为例。
  3. 下载完成后得到一个可执行的 .exe 文件,双击开始运行安装。
  4. 点击 "Next",点击 "I Agree" 同意协议。
  5. 选择安装路径(C 盘或 D 盘均可),注意尽量不要有中文路径,安装在纯英文路径最好。
  6. 点击下一步,选项三者全选,然后点击 "Install" 安装。

环境管理操作:

安装完成后,打开开始菜单,搜索 "Anaconda3" 文件夹,其中对应有一个终端 —— Anaconda Prompt(Anaconda 终端)。可以使用它管理配置环境,Anaconda 可以同时拥有多个不同的 Python 环境。

使用 conda 指令进行环境管理:

conda env list

说明:

  • env 即 environment(环境)
  • conda env list 代表查看当前有哪些 Python 环境
  • base 就是基础环境,此外还可创建其他自定义环境(如课程中提到的 test 环境)

编译器安装与配置

安装编译器可使用 VS CodePyCharm 等工具。本课程以 VS Code 为例:

  1. 打开 VS Code 官网,点击 "Download" 下载最近版本(Windows 版本,其他版本对应 macOS、Linux 等)。
  2. 双击安装文件,按照引导一键安装即可。

开发环境配置步骤:

  1. 打开 VS Code,点击"文件"→"打开文件夹"。之前需要先创建一个文件夹(例如在 D 盘创建一个 PythonCode 文件夹)。
  2. 打开后 VS Code 会弹窗询问"是否信任此文件夹",点击"信任"即可。
  3. 在右上角选择 Python 解释器环境(课程中使用的是 test 环境)。
  4. 在左侧"扩展"面板中安装以下扩展:
  • Python 扩展(第一个,包含了解释器功能)
  • Jupyter 扩展( Jupyter ,第一个即可)
  1. 使用快捷键 Ctrl + Shift + E 返回文件资源管理器视图。
  2. 在左侧文件夹空白处右键 → "新建文件",可以创建一个 Python入门.ipynb 文件(Jupyter 格式文件)。如果文件名已存在,可改为 Python入门一
  3. 新建后点击"选择内核",选择 Python 内核即可。

文件格式说明:

  • .ipynb 后缀:Jupyter 格式文件,适合多行代码的编写
  • .py 后缀:Python 脚本文件

在 Jupyter 单元格中,右侧下拉框可以选择单元格类型 —— Python 代码单元格(可运行代码)和 Markdown 单元格(可写注释/标题)。Markdown 单元格中可以使用 # 标识一级标题等。

print 输出函数

基本用法

print 是 Python 中最常见、最基础的内置输出函数。其基本语法结构为:

print(输出内容)

括号内放置需要输出的内容,可以输出多种类型:

print(1)          # 输出整型 1
print(2)          # 输出整型 2
print(123)        # 输出整型 123
print("HelloWorld")  # 输出字符串 HelloWorld(需用双引号括起来)

注意事项:

  • 括号必须是英文括号,使用中文括号会导致报错
  • 字符串需要用双引号(或英文单引号)括起来
  • 代码中的引号和符号都必须是英文状态下的

print 函数的完整参数

print 函数包含多个参数:

  1. 输出内容( *values* ):要输出的一个或多个值,例如 123"HelloWorld"
  2. 分隔符sep ):多个输出值之间的间隔符,默认是一个空格
  3. 末尾换行符end ):输出结束后的末尾字符,默认为 "\n" (换行)
  4. 文件写入file ):控制文件的写入目标
  5. 刷新流flush ):控制刷新输出缓冲

sep 参数:分隔符

默认情况下,print 打印多个值时,各值之间用空格分隔。可以通过 sep 参数修改分隔符:

print(1, 2, 3, 4)                          # 默认:1 2 3 4(空格分隔)
print(1, 2, 3, 4, sep="->")                # 修改为箭头分隔:1->2->3->4

说明:

  • 使用逗号 , 隔开多个输出值
  • sep 默认值为一个空格
  • sep 改为 "->" 后,输出值之间的分隔符变为箭头

代码中的 # 表示注释,用于增加代码的可阅读性,程序不会执行注释内容,只执行 print 打印语句。

end 参数:末尾字符

end 参数控制打印结束时末尾添加的字符。默认情况下每条 print 语句结束后自动换行(等价于 end="\n" )。

print(1, 2, 3)            # 输出在两行(默认 end="\n")
print(1, 2, 3)

print(1, 2, 3, end="\t")  # 改为制表符,不换行
print(1, 2, 3)

说明:

  • 默认 end="\n"\n 代表换行
  • end 改为 "\t" (制表符,大小相当于三个空格),输出后不会换行,而是加上一个制表符大小

实际用途:该参数在之后打印九九乘法表时会用到。所有符号(引号和括号)必须使用英文格式,中文会导致错误。

file 参数:文件写入

print 函数的 file 参数可以指定将输出写入到文件中,而不是显示在屏幕上。

使用 open 函数打开文件:

f = open("报错.txt", "a")          # "a" 代表追加模式(append)
print("HelloWorld", file=f)        # 将内容写入文件
f.close()                          # 关闭文件

说明:

  • open 函数用于打开一个 txt 文本文件
  • "a" (append)代表追加模式,即在文件后面继续写入
  • "w" (write)代表写入模式,会覆盖原文件内容
  • 文件内容可以是 Python 报错信息(如语法错误、缩进错误、名称错误等)或其他任意文本
  • 写入完成后需要调用 f.close() 关闭文件

推荐用法 —— with 语句:

with open("文件.txt", "a") as f:
    print("要写入的内容", file=f)

with 语句的优势:写入完成后会自动关闭文件,无需手动调用 close()。此外,如果指定的文件不存在,open 函数会自动创建该文件。例如指定 "1.txt" 而该文件不存在时,会先自动创建再写入。

附加说明"a" 模式做追加时内容加在文件最后一行;"w" 模式会覆盖原内容,例如在后面加一个 1 就能看到开头内容被覆盖。另外,Python 语言对缩进要求比较严格,这一点会在后续章节详细讲解,但相比 C/C++,Python 的写法会更简单。

格式化输出

格式化输出的含义:给定一个模板,按照模板格式进行输出。根据不同数据类型需要使用不同的格式化字符。

常用格式化字符

格式化字符含义示例
%c字符单个字符
%s字符串"ABC""123"
%d整型18123
%f浮点数(小数)1.21.3

最常用的是字符串( %s )、整数( %d )和浮点数( %f )。

三种格式化输出方法

方法一:使用 % 进行基础格式化

print("我的名字是%s,年龄%d岁" % ("零一", 18))
  • 字符串对应 %s,整型对应 %d
  • 在字符串末尾使用 % 加上要传入的值(多个值用括号括起,逗号分隔)
  • %s 对应第一个值(名字),%d 对应第二个值(年龄)

方法二:使用 format 函数

print("我的名字是{},年龄{}岁".format("零一", 18))
  • 字符串中用 {} 占位
  • 后面调用 .format() 方法传入对应的值(名字和年龄)
  • 用双引号定义的值如 "零一" 是字符串类型;18 是整型,无需标明类型

方法三:F 表达式格式化输出(推荐)

name = "零一"
age = 18

print(f"我的名字是{name},年龄{age}岁")

写法要点:

  • 在字符串前加 f
  • 字符串中需要用大括号 {} 引用变量名
  • 推荐先成对敲出括号、引号和大括号,再填入内容

F 表达式的优势

示例场景:需要输出三句姓名和年龄的信息:

# 不使用变量的写法:需要每行修改年龄
print("我的名字是零一,年龄18岁")
print("我的名字是零一,年龄18岁")
print("我的名字是零一,年龄18岁")

如果年龄从 18 变为 19,每行都需要单独修改;如果只改了一行,其他行仍是旧值。

使用 F 表达式的写法

name = "零一"
age = 18

print(f"我的名字是{name},年龄{age}岁")
print(f"我的名字是{name},年龄{age}岁")
print(f"我的名字是{name},年龄{age}岁")

此时只需要将变量 age 的值改为 19 或 20,所有输出的年龄都随之改变。这体现了 F 表达式的便捷性:统一修改变量值,且能更清晰地看出输出的变量。

input 输入函数

基本使用

input 是 Python 的内置输入函数。它会在控制台显示提示信息,并等待用户输入:

input("请输入一些内容:")

关键特性

  • 函数运行时会显示提示文字(如"请输入一些内容"),并有一个输入框/控制台等待输入
  • 可以输入数字或字符串
  • 如果不在控制台输入,程序会一直悬挂(等待)在这里,直到输入完成或被终止
  • 输入的内容总是以字符串形式返回,无论输入的是整型还是其他类型

使用变量接收输入

a = input("请输入一些内容:")
print(a)

将输入的内容赋值给变量 a,再通过 print 打印输出。也可以结合 type() 函数查看变量类型:

a = input("请输入一些内容:")
print(a)
print(type(a))      # 查看 a 的类型

输入 123 后,type(a) 显示为 <class 'str'>(字符串类型)。

类型强制转换

如果希望将输入的字符串转换为其他类型,可以使用类型强制转换函数:

a = int(input("请输入一些内容:"))
print(a)
print(type(a))
  • int() 将字符串转换为整型
  • 输入 123 后,类型变为 <class 'int'>

实际应用场景:例如变量 age(年龄)显然是整型,因此需要对其做类型强制转换。这在后续编程中会经常用到。

变量与对象

核心定义

变量:将数据在内存中存储后赋予的一个名称,这个名称就是变量。可以理解为给内存中的数据起的一个"门牌号"。

对象:被存储的数据本身。对象是有类型的。例如在 a = 1 中,1 就是一个对象,它是 int(整型)类型。

对象的三要素

每个对象都有三个要素:

  1. ID 地址:对象在内存中的具体地址(唯一标识符),例如 2024...
  2. 类型(type):对象的数据类型,例如 int 整型
  3. (value):对象的具体内容,例如 1

变量的特性

变量是没有类型的。 变量 A 本身没有类型,其类型在赋值时自动决定。Python 是一门动态型解释语言,在赋值时(如 A = 1 ),类型会在复制过程中自动确定 —— 1 是整型,那么变量 A 就表示整型。

类型只存在于对象之中,存在于数据(如 1 )之中,变量只是引用了这个对象。

等号 `=` 不是数学意义上的等号,而是赋值运算符。

内存示意图

A = 1 为例,内存中发生的过程:

堆内存中:
┌───────────────────────┐
│       对象 (1)          │
│  ID地址: 2024xxxx       │
│  类型: int              │
│  值: 1                  │
└───────────────────────┘
         ↑  指向(引用)
┌───────────────────────┐
│   变量名 A              │
│  存储内容: 对象的ID地址  │
└───────────────────────┘

具体过程:

  1. 在堆内存中开辟一块内存空间,存储对象(如 1 ),包含其值、ID 地址和类型三要素
  2. 在栈内存中开辟一块空间,存储变量名(如 A
  3. 变量名中存储的是对象的 ID 地址(如 2024...
  4. 变量通过这个 ID 地址指向该对象

这类似于 C 语言中的指针机制,可以理解为一种异曲同工的工作原理。

变量的命名规则

变量命名必须遵循以下规则:

  1. 只能用数字、字母和下划线(`_`)组成
  2. 不能以数字开头(如 1a 不合法)
  3. 不能是 Python 的关键字(如 forwhileFalseTrue 等)
  4. 变量名区分大小写:大写 A 和小写 a 是两个不同的变量

Python 中的关键字:可以通过以下代码查看:

import keyword
print(keyword.kwlist)

其中包含 FalseTrueandasfor 等许多关键字,这些都不能用作变量名。

变量的基本操作与 ID 地址验证

定义变量并输出:

A = 1
print(A)    # 输出 1

查看对象的 ID 地址:

A = 123
print(id(A))    # 输出对象的 ID 地址,如 209...

A 改为不同的值(如 12 ),再次打印 id(A) 会得到不同的 ID 地址。每个对象拥有唯一的标识符,不同的对象(不同的值)对应不同的 ID 地址。

变量在深度学习场景中的应用示例

epoch = 100
acc = 0.8

print(f"训练的总轮数为{epoch},得到的ACC为{acc}")
# 输出:训练的总轮数为100,得到的ACC为0.8
  • epoch 代表训练轮数(整型)
  • acc 代表准确率(浮点数)
  • 这对应了后续深度学习模型训练中需要输出的变量,如 epoch(轮数)、acc(准确率)等指标

方法与步骤总结

  1. 搭建环境:安装 Anaconda → 创建/管理 Python 环境 → 安装编译器(VS Code)
  2. 配置编译器:打开文件夹 → 安装 Python 和 Jupyter 扩展 → 选择 Python 解释器 → 新建 .ipynb 文件
  3. 学习 print 输出:掌握基本输出、sep 分隔符、end 末尾字符、file 文件写入参数
  4. 学习格式化输出:掌握 % 格式化、format 函数、F 表达式三种方式,重点掌握 F 表达式
  5. 学习 input 输入:掌握基本输入、接收变量、字符串返回特性、int() 类型转换
  6. 理解变量与对象:掌握对象三要素(ID、类型、值)、变量的引用本质、命名规则

总结

本节课程完成了 Python 入门的第一部分,主要成果包括:

  • 环境搭建:通过 Anaconda 管理 Python 环境,使用 VS Code 配置开发环境
  • print 输出函数:掌握了多参数(sep、end、file)的使用方法,包括自定义分隔符、末尾字符和文件写入
  • 格式化输出:重点学习了 F 表达式这一定义变量后统一修改的便捷方式,同时了解 %format 两种方法
  • input 输入函数:理解了输入总是返回字符串、可用 int() 做类型转换的特性
  • 变量与对象:建立了 Python 中变量名通过 ID 地址引用对象的核心内存模型,掌握命名规则

需要说明的几个点:

  • 关于"对象"的术语,原文特别指出 *"此对象非彼对象"*,这里指的是数据存储层面的对象概念,为后续面向对象编程的学习做了铺垫
  • Python 对缩进要求严格,这一点将在后续章节详细展开
  • 课程配套的课件与代码会发布在评论区供学习者获取