Python基础学习笔记

Python 基础学习笔记

1. 变量、输入与输出

1
2
3
4
5
6
7
8
name = "Tom"       # str:字符串
age = 20 # int:整数
price = 19.5 # float:小数
has_ticket = True # bool:布尔值

name = input("请输入姓名:")
age = int(input("请输入年龄:"))
print(f"{name},今年 {age} 岁")
  • = 是赋值,== 是判断相等。
  • input() 返回字符串;计算前用 int()、float() 转换。
  • str() 将数字转换成字符串。
  • print() 默认换行;end="" 可取消换行。
  • 冒号后用缩进表示代码块,通常缩进 4 个空格。

2. 运算与条件判断

类型 常用写法
算术运算 +、-、*、/
取余 %,如 number % 2 == 0 判断偶数
比较运算 >、<、>=、<=、==、!=
逻辑运算 and、or、not
累加、累减 total += number、stock -= quantity
1
2
3
4
5
6
if score >= 90:
print("优秀")
elif score >= 60:
print("及格")
else:
print("不及格")
  • if / elif / else:从上往下判断,只执行第一个满足条件的分支。
  • 范围判断:18 <= age <= 60。
  • 多条件判断:age >= 18 and has_ticket。
  • 成绩分级默认成绩合法;需要检查范围时,先判断 0 <= score <= 100。

3. 循环

1
2
3
total = 0
for number in range(1, 101):
total += number
  • for:遍历一组数据或指定范围。
  • range(起点, 终点, 步长):包含起点,不包含终点。
  • range(1, 11) → 1~10。
  • range(2, 101, 2) → 2~100 的偶数。
1
2
3
4
number = 10
while number > 0:
print(number)
number -= 1
  • while:条件成立就继续执行。
  • while True:持续循环,常用于菜单、猜数字、连续输入。
  • break:结束当前所在的循环。
  • 嵌套循环:外层执行一次,内层执行完整一轮。
  • 累加器、计数器通常在循环前初始化,循环内更新。

4. 列表 list

列表保存一组有顺序、可修改的数据,允许重复元素。

1
2
3
4
5
6
7
numbers = [10, 20, 30, 40, 50]

numbers[0] # 第一个:10
numbers[-1] # 最后一个:50
numbers[1:4] # [20, 30, 40]
numbers[::2] # [10, 30, 50]
numbers[::-1] # 返回反转后的新列表

索引从 0 开始;切片包含起点,不包含终点。

操作 写法 含义
修改 numbers[0] = 100 修改指定位置
追加 numbers.append(60) 添加到末尾
插入 numbers.insert(1, 15) 在指定位置插入
按值删除 numbers.remove(20) 删除第一个匹配值
按位置删除 numbers.pop(0) 删除并返回该元素
删除末尾 numbers.pop() 删除并返回最后一个元素
长度 len(numbers) 元素个数
判断存在 20 in numbers 返回布尔值
统计次数 numbers.count(20) 出现次数
查找位置 numbers.index(20) 第一次出现的索引
排序 numbers.sort() 原列表升序排列
反转 numbers.reverse() 原列表顺序反转

注意:sort()、reverse() 修改原列表,返回 None;反转不等于排序。

5. 列表处理套路

筛选:新建列表,保留符合条件的元素。

1
2
3
4
result = []
for number in numbers:
if number > 20:
result.append(number)

同一套路也可用于删除所有指定值、筛选长单词、转换元素类型。

查找重复值,并避免重复记录:

1
2
3
4
result = []
for number in numbers:
if numbers.count(number) > 1 and number not in result:
result.append(number)

删除所有指定元素:

1
2
while 20 in numbers:
numbers.remove(20)

统计:

1
2
3
4
5
# numbers 非空
total = sum(numbers)
average = total / len(numbers)
largest = max(numbers)
smallest = min(numbers)

手写最大值、最小值时,以第一个元素初始化,再遍历比较;不要随意用 0 或 100。

6. 字典 dict

字典通过“键 → 值”保存信息。同一个键只能对应一个值。

1
2
3
4
5
6
7
8
9
student = {"name": "Tom", "age": 18, "score": 90}

student["name"] # 读取
student["age"] = 19 # 修改已有键
student["city"] = "Tokyo" # 添加新键
"name" in student # 判断键是否存在
student.get("email", "未填写")
del student["age"] # 删除
score = student.pop("score") # 删除并返回值
写法 用途
student.keys() 获取所有键
student.values() 获取所有值
student.items() 获取所有键值对
1
2
for key, value in student.items():
print(key, value)
  • in 判断的是键;判断值用 value in student.values()。
  • student[key]:键不存在会报错。
  • student.get(key):键不存在默认返回 None。
  • get() 的默认值只在键不存在时生效。

7. 列表与字典组合

1
2
3
4
students = [
{"name": "Tom", "score": 80},
{"name": "Alice", "score": 95}
]
  • 外层列表:保存多条记录。
  • 内层字典:保存一条记录的多个字段。
  • students[0]["score"]:第一个学生的成绩。

查询:

1
2
3
4
5
6
7
8
9
found = False
for student in students:
if student["name"] == target_name:
print(student)
found = True
break

if not found:
print("学生不存在")

常见任务:遍历展示、条件筛选、累计总分、统计人数、找最高分、修改库存。

菜单程序的结构:循环显示菜单 → 读取选择 → 执行功能 → 退出时 break。

8. 函数

函数将一项功能封装起来,减少重复代码。

1
2
3
4
def add(a, b):
return a + b

result = add(10, 20)
  • def:定义函数;定义后需要调用才会执行。
  • 形参:定义时的 a, b;实参:调用时的 10, 20。
  • return:返回结果,并立即结束函数。
  • 没写 return 或只写 return:返回 None。
  • print() 负责显示;return 让调用者拿到结果。
1
2
3
4
5
def find_student(students, name):
for student in students:
if student["name"] == name:
return student
return None

函数分工:展示、查找、添加、修改、删除、统计;主循环负责选择和调用。

9. 变量作用域

1
2
3
4
5
6
7
8
name = "Tom"  # 全局变量

def test():
name = "Jack" # 局部变量
print(name)

test() # Jack
print(name) # Tom
  • 局部变量通常只能在所在函数内使用。
  • 同名局部变量不会自动修改全局变量。
  • 函数内重新赋值全局变量,需要 global。
  • 修改全局列表、字典的内容,通常不需要 global。
  • 优先用参数传入数据、用返回值传出结果。

10. 默认参数与关键字参数

1
2
3
4
5
6
def calculate_price(price, quantity=1, discount=1):
return price * quantity * discount

calculate_price(100) # 100
calculate_price(100, 3) # 300
calculate_price(100, discount=0.8) # 80.0
  • 默认参数:调用时可以省略。
  • 必填参数放前面,有默认值的参数放后面。
  • 位置参数:按顺序对应。
  • 关键字参数:按参数名对应,可以调整顺序。
  • 混合调用时,普通位置参数放在关键字参数前面。
  • 同一个参数不能重复传值。

Python基础学习笔记
https://umeshu.cn/2021/01/17/Python/Python基础学习笔记/
作者
IchiharaYuuko
发布于
2021年1月17日
许可协议