Python基础学习笔记
第一阶段 第一章:Python基础入门
1. Python环境与第一个程序
- 运行方式:
win+R 打开cmd → 输入`py`进入Python环境 - 第一个程序:
>>> print("Hello world!!") Hello world!!
2. Pycharm快捷键
| 快捷键 | 功能 |
|---|---|
Ctrl+D | 复制当前行 |
Shift+Alt+↑/↓ | 上下移动代码行 |
Ctrl+C | 全选 |
3. 基本值类型
-
常见类型:
- 整型 (
int):10 - 浮点型 (
float):13.14 - 字符串 (
str):"Hello"
- 整型 (
-
Python 常用值类型分类表
| 类型分类 | 类型名称 | 描述 | 示例 |
|---|---|---|---|
| 数字类型 | 整数 (int) | 表示整数值,无大小限制 | 10, -5, 0 |
浮点数 (float) | 表示带小数点的数值 | 3.14, -2.718, 0.0 | |
复数 (complex) | 表示数学中的复数,形式为 a + bj | 4+3j, 1.5-2j | |
| 布尔类型 | 布尔 (bool) | 表示逻辑真/假,继承自 int(True=1, False=0) | True, False |
| 字符串类型 | 字符串 (str) | 由字符组成的不可变序列,用于表示文本 | "Hello", 'Python' |
| 序列类型 | 列表 (list) | 有序的可变序列,可存储多种数据类型 | [1, "a", 3.14], [[1,2], ["x","y"]] |
元组 (tuple) | 有序的不可变序列,常用于存储不可修改的数据 | (1, 2, 3), ("apple", "banana") | |
| 集合类型 | 集合 (set) | 无序且元素唯一的容器,支持集合运算(并集、交集等) | {1, 2, 3}, {"apple", "banana"} |
冻结集合 (frozenset) | 不可变版本的集合 | frozenset({1, 2, 3}) | |
| 映射类型 | 字典 (dict) | 无序的键值对集合,键唯一且不可变 | {"name": "Alice", "age": 25} |
- 补充说明
-
布尔类型
- 布尔值为
True或False,可直接用于逻辑判断。 - 在数值运算中,
True等价于1,False等价于0。
- 布尔值为
-
字符串与转义
- 支持单引号(
')和双引号(")定义,多行字符串可用三引号('''或""")。 - 示例:
"Hello\nWorld"(\n表示换行符)。
- 支持单引号(
-
集合与字典的特性
- 集合:自动去重,元素不可通过索引访问。
- 字典:键必须是不可变类型(如字符串、数字、元组),值可为任意类型。
-
可变性对比
可变类型 不可变类型 列表 ( list)数字 ( int,float)集合 ( set)字符串 ( str)字典 ( dict)元组 ( tuple)冻结集合 ( frozenset)
4. 注释规范
1. 单行注释
- 语法:以
#开头,右侧内容为注释(不会被程序执行)。 - 规范:
#与注释内容之间建议留一个空格。- 通常用于简短说明或临时禁用单行代码。
- 示例:
# 我是单行注释:打印Hello World print("Hello World") # 输出欢迎信息
2. 多行注释
- 语法:使用 三对双引号
"""注释内容"""包裹多行文本。 - 本质:Python中无官方多行注释语法,实际是未赋值的多行字符串(解释器会忽略)。
- 用途:
- 解释复杂代码逻辑。
- 函数、类的文档字符串(Docstring)。
- 示例:
""" 诗名:悯农 作者:李绅 功能:输出古诗《悯农》 """ print("锄禾日当午") print("汗滴禾下土")
3. 注释使用场景
| 场景 | 推荐注释方式 | 示例 |
|---|---|---|
| 单行代码解释 | # 单行注释 | x = 10 # 初始化变量 |
| 临时禁用代码 | # 注释单行 | # print("调试信息") |
| 模块/函数说明文档 | 三引号多行字符串 | 见下方 Docstring示例 |
| 复杂逻辑分段解释 | 多行字符串分段注释 | 见下方 多行注释示例 |
4. 多行注释示例
"""
函数:calculate_sum
功能:计算两个数的和
参数:
a (int): 第一个整数
b (int): 第二个整数
返回值:a + b
"""
def calculate_sum(a, b):
return a + b
5. 注意事项
- 多行字符串非真正注释:
- 若未被赋值,解释器会忽略;若被赋值,则成为字符串变量。
- 错误示例:
comment = """这是注释""" # 实际是字符串变量,非注释!
- IDE工具支持:
- PyCharm等工具支持
Ctrl+/快捷键批量注释单行代码。
- PyCharm等工具支持
- 代码规范:
- 避免过度注释,优先通过清晰的变量名和函数名表达意图。
- 修改代码时需同步更新注释,防止误导。
6. 错误用法对比
| 错误用法 | 正确用法 |
|---|---|
#注释内容紧贴#号 | # 注释内容前留空格 |
多行注释未闭合:"""注释 | 确保三引号成对闭合 |
| 注释与代码无空行,难以阅读 | 用空行分隔注释和代码块 |
第一阶段 第二章:变量与数据类型
5. 变量基础
1. 变量概念
- 定义:变量是程序运行时存储数据的抽象概念,用于记录和操作数据。
- 类比:变量类似容器(盒子),用于存放数据。
2. 变量定义格式
变量名 = 变量值
- 赋值操作:将等号右侧的值赋予左侧的变量。
- 示例:
money = 50 # 定义变量money并赋值为50
3. 变量特征
- 值可变:变量存储的值可随时修改。
- 动态类型:变量类型由赋值的数据类型决定(无需显式声明类型)。
- 命名规则:遵循标识符命名规则(字母/下划线开头,区分大小写)。
4. 示例与练习
示例代码:
money = 50
print("钱包余额:", money) # 输出:钱包余额:50
练习题:
钱包初始余额50元,购买冰淇淋(10元)和可乐(5元),计算剩余金额并按格式输出:
当前钱包余额:50元
购买了冰淇淋,花费:10元
购买了可乐,花费:5元
最终,钱包剩余:35元
- 答案代码:
money = 50
print("当前钱包余额:", money, "元")
print("购买了冰淇淋,花费:", 10, "元")
print("购买了可乐,花费:", 5, "元")
money = money - 10 - 5
print("最终,钱包剩余:", money, "元")
- 执行结果
当前钱包余额:50元
购买了冰淇淋,花费:10元
购买了可乐,花费:5元
最终,钱包剩余:35元
6. 数据类型与检测
1. 基本数据类型分类
Python中基础数据类型可分为以下三类:
| 类型 | 描述 | 说明 | 示例 |
|---|---|---|---|
str | 字符串类型 | 用单引号、双引号或三引号包裹的数据 | "Hello", 'Python' |
int | 整型 | 存储整数(正负均可),无大小限制 | 10, -5, 0 |
float | 浮点型 | 存储带小数点的数值(正负均可) | 3.14, -2.718, 0.0 |
2. type()函数:查看数据类型
- 作用:返回变量存储的数据类型(变量本身无类型,存储的数据有类型)。
- 语法:
type(被检查的数据或变量)
3. type()函数使用方式
3.1 直接输出数据类型
print(type("我爱学习")) # <class 'str'>
print(type(123)) # <class 'int'>
print(type(13.14)) # <class 'float'>
3.2 存储类型结果到变量
string_type = type("我爱学习")
int_type = type(123)
float_type = type(13.14)
print(string_type) # <class 'str'>
print(int_type) # <class 'int'>
print(float_type) # <class 'float'>
3.3 查看变量的数据类型
name = "潇潇"
name_type = type(name)
print(name_type) # <class 'str'>
4. 注意事项
-
字符串与数值的区分:
print(type("13.14")) # <class 'str'>(带引号为字符串) print(type(13.14)) # <class 'float'>(无引号为浮点数) -
动态类型特性:
- 变量类型由存储的值决定,可随时改变。
x = 10 # x类型为int x = "Hello" # x类型变为str
5. 常见错误示例
| 错误代码 | 问题说明 | 修正方法 |
|---|---|---|
print(type('100')) | 输出<class 'str'> | 去除引号改为100 |
num = "3.14" | num为字符串,无法计算 | 改为num = 3.14 |
7. 类型转换
- 转换函数:
int(x) # 转整型 float(x) # 转浮点型 str(x) # 转字符串 - 示例:
num_str = "123" num = int(num_str) # 字符串转整型
8. 标识符规则
-
命名规则:
- 只允许使用英文、中文、数字、下划线
- 数字不能开头
- 区分大小写
- 不可使用关键字(如
if,class)
-
命名规范:
- 见名知意(如
student_name) - 下划线命名法(如
user_age)
- 见名知意(如
9. 运算符
-
算术运算符:
运算符 描述 示例 +加 3 + 2 = 5//取整除 9 // 2 = 4**指数 2 ** 3 = 8 -
赋值运算符:
a = 10 a += 2 # 等价于 a = a + 2
10. 字符串操作
-
三种定义方式:
name1 = '单引号' name2 = "双引号" name3 = """三引号(支持换行)""" -
拼接与格式化:
# 拼接 print("Hello" + "World") # HelloWorld # %格式化 name = "Alice" print("Name: %s" % name) # Name: Alice # f-string格式化 age = 25 print(f"Age: {age}") # Age: 25
11. 数据输入
- input()使用:
name = input("请输入姓名:") # 输入始终为字符串类型 age = int(input("请输入年龄:")) # 需显式转换类型
第一阶段 第三章:条件判断
12. 布尔类型与比较运算符
- 布尔值:
True/False - 比较运算符:
运算符 描述 示例 ==等于 10 == 10 → True!=不等于 10 != 5 → True
13. 条件语句
-
基本结构:
if 条件: 执行语句 elif 条件: 执行语句 else: 执行语句 -
示例:
age = 18 if age >= 18: print("成年") else: print("未成年")
14. 嵌套判断
-
示例:
height = 175 vip_level = 3 if height > 120: print("需购票") if vip_level >= 3: print("VIP可免票") -
综合案例:猜数字游戏:
import random
# 生成随机数字
num = random.randint(1, 10)
print(num)
# 第一次猜测
guess_num = int(input("请输入你要猜测的数字:"))
if guess_num == num:
print("恭喜,第一次猜中")
else:
if guess_num > num:
print("大了")
else:
print("小了")
# 第二次猜测
guess_num = int(input("再次请输入你要猜测的数字:"))
if guess_num == num:
print("恭喜,第二次猜中了")
else:
if guess_num > num:
print("你猜测的数字大了")
else:
print("你猜测的数字小了")
# 第三次猜测
guess_num = int(input("再次请输入你要猜测的数字:"))
if guess_num == num:
print("第三次猜中了")
else:
print("三次机会用完了,没有猜中")