Python 是动态类型语言 #Python 和 Java、C++ 等语言不同,它是动态类型语言,这意味着: # 我们不需要提前定义变量的类型,Python 会自动判断变量的类型。
#Java/C++ 风格
#def Ryear( int year):
# 列表[起始索引:结束索引:步长]
# ✅ 支持切片的 数据类型 :
# 列表 list ✅
# 字符串 str ✅
# 元组 tuple ✅
# ❌ 不支持切片的数据类型:
# 字典 dict ❌
# 集合 set ❌
# 整数 int ❌
一、函数基础
1. 函数定义格式
def 函数名称 (参数 1, 参数 2, 参数 3, ... 参数 n):代码段
2. 函数的调用
函数名称 (参数 1 值,参数 2 值,参数 3 值,... 参数 n 值)
3. 函数的类型
-
按是否有参数划分:包含有参函数和无参函数
-
按是否有返回值划分:包含有返回值的函数和无返回值的函数返回值为 None 则为无返回值函数,否则为有返回值函数
4. 形参与实参
-
形参:定义函数的时候指定的参数
-
实参:调用函数时具体传入的参数值
二、函数参数类型
1. 必备参数(位置参数)
必备参数需要以正确的顺序传入,并且调用时参数的数量必须与定义时一致,缺一不可,顺序不可随意颠倒。
def student_info(name, age, grade):
print(f"姓名:{name},年龄:{age},年级:{grade}")# 正确调用:顺序、数量一致
student_info("小红", 15, "初三") # 输出:姓名:小红,年龄:15,年级:初三
错误示例1:顺序颠倒,会导致参数赋值错误 student_info(15, "小红", "初三") # 输出:姓名:15,年龄:小红,年级:初三(逻辑错误)
错误示例2:参数数量不匹配 student_info("小红", 15) # 报错:缺少1个必备参数
2. 关键字参数
关键字传参允许函数调用时参数的顺序与声明时不一致,函数在调用时使用参数名称来确定传入的参数值,通过参数名进行传值。
def student_info(name, age, grade):
print(f"姓名:{name},年龄:{age},年级:{grade}")
关键字参数,顺序可以任意
student_info(age=15, grade="初三", name="小红") # 输出和之前一致
位置参数和关键字参数可以混用,但位置参数必须在关键字参数前面 student_info("小红", grade="初三", age=15) # 正确
student_info(grade="初三", "小红", 15) # 错误:位置参数不能在关键字参数后面
3. 默认参数
默认参数在定义函数时设置,带有默认参数的函数,在调用时如果没有给默认参数传值,就会使用默认值;如果传入了值,则使用传入的值。
def student_info(name, age, grade="初三"):
print(f"姓名:{name},年龄:{age},年级:{grade}")
不传入grade,使用默认值
student_info("小红", 15) # 输出:姓名:小红,年龄:15,年级:初三
传入grade,覆盖默认值
student_info("小刚", 17, "高二") # 输出:姓名:小刚,年龄:17,年级:高二
4. 不定长参数
定义参数时,参数前带 * 或者 ** 的函数,适用于不确定参数个数的场景。
- 参数前面加 *,会把传入的参数值放到元组中进行存储
def add(*nums):
nums 是一个元组,包含所有传入的位置参数
print("传入的参数:", nums)
return sum(nums)
print(add(1, 2, 3)) # 输出:传入的参数:(1, 2, 3) → 结果:6
print(add(10, 20)) # 输出:传入的参数:(10, 20) → 结果:30print(add()) # 输出:传入的参数:() → 结果:0
- 参数前面加 **,会把传入的参数值放到字典中进行存储
def print_user_info(**info):
info 是一个字典,键是参数名,值是传入的参数值
print("用户信息:", info)
for key, value in info.items():
print(f"{key}: {value}")
print_user_info(name="小明", age=18, city="北京")
输出:
用户信息: {'name': '小明', 'age': 18, 'city': '北京'}
name: 小明
age: 18
city: 北京

接口自动化测试
Requests 模块详解
import requests #导入第三方库 # requests 的常用方法: # requests.get() # 发送get请求 # requests.post() # 发送post请求 # requests.put() # 发送put请求 requests.delete() # 发送delete请求