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请求

相关推荐
zzzzzz3108 分钟前
我用 AI 编程半年,这 5 个 Prompt 技巧让我效率翻倍
python·机器学习·编程语言
lazy H43 分钟前
从入门到日常开发,一篇文章掌握 Git 核心操作
git·后端·学习·github
Scott9999HH8 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准
开发语言·python
码智社9 小时前
AES加密原理详解及Java实现加解密实战
java·开发语言
AI云海9 小时前
python 列表、元组、集合和字典
开发语言·python
克里斯蒂亚诺更新9 小时前
ruoyi角色权限的对应关系
笔记
二十雨辰10 小时前
[爬虫]-Urllib
爬虫·python
萧瑟余晖10 小时前
JDK 26 新特性详解
java·开发语言
马优晨11 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎