4.17 学习笔记

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. 函数的类型

  1. 按是否有参数划分:包含有参函数和无参函数

  2. 按是否有返回值划分:包含有返回值的函数和无返回值的函数返回值为 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请求

相关推荐
zhoutongsheng1 分钟前
MySQL触发器无法触发的原因分析_MySQL触发器排查指南
jvm·数据库·python
夏沫琅琊2 分钟前
基于python 的日志文件分析器
python
财经资讯数据_灵砚智能3 分钟前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年5月10日
大数据·人工智能·python·信息可视化·自然语言处理
2301_779622413 分钟前
不同品牌SSD对HTML函数工具加载速度影响大吗_存储测试汇总【汇总】
jvm·数据库·python
特种加菲猫5 分钟前
STL关联容器:Set/Multiset与Map/Multimap详解
开发语言·c++
red_redemption10 分钟前
自由学习记录(183)
学习·ue项目改名字的学问
我滴老baby10 分钟前
0基础速通Python+AI|2026热门轻量化玩法全攻略:从入门到实战,3天搞定AI应用开发
开发语言·人工智能·python
lizhihai_9913 分钟前
股市学习心得-智能体顶层设计文件收益供应链
大数据·人工智能·学习
雷帝木木13 分钟前
Python 类型提示与静态类型检查的高级应用
人工智能·python·深度学习·机器学习
一个天蝎座 白勺 程序猿13 分钟前
Python(29)Python生成器函数深度解析:asyncio事件循环的底层实现与异步编程实战
开发语言·python