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 管理环境。
安装步骤:
- 打开浏览器,搜索 "Anaconda",点击第一个结果。
- 点击 "Download" 按钮,选择对应自己电脑的版本下载(Windows、macOS、Linux),本课程以 Windows 为例。
- 下载完成后得到一个可执行的
.exe文件,双击开始运行安装。 - 点击 "Next",点击 "I Agree" 同意协议。
- 选择安装路径(C 盘或 D 盘均可),注意尽量不要有中文路径,安装在纯英文路径最好。
- 点击下一步,选项三者全选,然后点击 "Install" 安装。
环境管理操作:
安装完成后,打开开始菜单,搜索 "Anaconda3" 文件夹,其中对应有一个终端 —— Anaconda Prompt(Anaconda 终端)。可以使用它管理配置环境,Anaconda 可以同时拥有多个不同的 Python 环境。
使用 conda 指令进行环境管理:
conda env list说明:
env即 environment(环境)conda env list代表查看当前有哪些 Python 环境base就是基础环境,此外还可创建其他自定义环境(如课程中提到的test环境)
编译器安装与配置
安装编译器可使用 VS Code 或 PyCharm 等工具。本课程以 VS Code 为例:
- 打开 VS Code 官网,点击 "Download" 下载最近版本(Windows 版本,其他版本对应 macOS、Linux 等)。
- 双击安装文件,按照引导一键安装即可。
开发环境配置步骤:
- 打开 VS Code,点击"文件"→"打开文件夹"。之前需要先创建一个文件夹(例如在 D 盘创建一个
PythonCode文件夹)。 - 打开后 VS Code 会弹窗询问"是否信任此文件夹",点击"信任"即可。
- 在右上角选择 Python 解释器环境(课程中使用的是
test环境)。 - 在左侧"扩展"面板中安装以下扩展:
- Python 扩展(第一个,包含了解释器功能)
- Jupyter 扩展(
Jupyter,第一个即可)
- 使用快捷键
Ctrl + Shift + E返回文件资源管理器视图。 - 在左侧文件夹空白处右键 → "新建文件",可以创建一个
Python入门.ipynb文件(Jupyter 格式文件)。如果文件名已存在,可改为Python入门一。 - 新建后点击"选择内核",选择 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 函数包含多个参数:
- 输出内容( *values* ):要输出的一个或多个值,例如
123、"HelloWorld" - 分隔符(
sep):多个输出值之间的间隔符,默认是一个空格 - 末尾换行符(
end):输出结束后的末尾字符,默认为"\n"(换行) - 文件写入(
file):控制文件的写入目标 - 刷新流(
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 | 整型 | 18、123 |
%f | 浮点数(小数) | 1.2、1.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(整型)类型。
对象的三要素
每个对象都有三个要素:
- ID 地址:对象在内存中的具体地址(唯一标识符),例如
2024...等 - 类型(type):对象的数据类型,例如
int整型 - 值(value):对象的具体内容,例如
1
变量的特性
变量是没有类型的。 变量 A 本身没有类型,其类型在赋值时自动决定。Python 是一门动态型解释语言,在赋值时(如 A = 1 ),类型会在复制过程中自动确定 —— 1 是整型,那么变量 A 就表示整型。
类型只存在于对象之中,存在于数据(如 1 )之中,变量只是引用了这个对象。
等号 `=` 不是数学意义上的等号,而是赋值运算符。
内存示意图
以 A = 1 为例,内存中发生的过程:
堆内存中:
┌───────────────────────┐
│ 对象 (1) │
│ ID地址: 2024xxxx │
│ 类型: int │
│ 值: 1 │
└───────────────────────┘
↑ 指向(引用)
┌───────────────────────┐
│ 变量名 A │
│ 存储内容: 对象的ID地址 │
└───────────────────────┘具体过程:
- 在堆内存中开辟一块内存空间,存储对象(如
1),包含其值、ID 地址和类型三要素 - 在栈内存中开辟一块空间,存储变量名(如
A) - 变量名中存储的是对象的 ID 地址(如
2024...) - 变量通过这个 ID 地址指向该对象
这类似于 C 语言中的指针机制,可以理解为一种异曲同工的工作原理。
变量的命名规则
变量命名必须遵循以下规则:
- 只能用数字、字母和下划线(`_`)组成
- 不能以数字开头(如
1a不合法) - 不能是 Python 的关键字(如
for、while、False、True等) - 变量名区分大小写:大写
A和小写a是两个不同的变量
Python 中的关键字:可以通过以下代码查看:
import keyword
print(keyword.kwlist)其中包含 False、True、and、as、for 等许多关键字,这些都不能用作变量名。
变量的基本操作与 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.8epoch代表训练轮数(整型)acc代表准确率(浮点数)- 这对应了后续深度学习模型训练中需要输出的变量,如 epoch(轮数)、acc(准确率)等指标
方法与步骤总结
- 搭建环境:安装 Anaconda → 创建/管理 Python 环境 → 安装编译器(VS Code)
- 配置编译器:打开文件夹 → 安装 Python 和 Jupyter 扩展 → 选择 Python 解释器 → 新建
.ipynb文件 - 学习 print 输出:掌握基本输出、
sep分隔符、end末尾字符、file文件写入参数 - 学习格式化输出:掌握
%格式化、format函数、F 表达式三种方式,重点掌握 F 表达式 - 学习 input 输入:掌握基本输入、接收变量、字符串返回特性、
int()类型转换 - 理解变量与对象:掌握对象三要素(ID、类型、值)、变量的引用本质、命名规则
总结
本节课程完成了 Python 入门的第一部分,主要成果包括:
- 环境搭建:通过 Anaconda 管理 Python 环境,使用 VS Code 配置开发环境
- print 输出函数:掌握了多参数(sep、end、file)的使用方法,包括自定义分隔符、末尾字符和文件写入
- 格式化输出:重点学习了 F 表达式这一定义变量后统一修改的便捷方式,同时了解
%和format两种方法 - input 输入函数:理解了输入总是返回字符串、可用
int()做类型转换的特性 - 变量与对象:建立了 Python 中变量名通过 ID 地址引用对象的核心内存模型,掌握命名规则
需要说明的几个点:
- 关于"对象"的术语,原文特别指出 *"此对象非彼对象"*,这里指的是数据存储层面的对象概念,为后续面向对象编程的学习做了铺垫
- Python 对缩进要求严格,这一点将在后续章节详细展开
- 课程配套的课件与代码会发布在评论区供学习者获取