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

相关推荐
2402_854808372 小时前
CSS代码复用性太低怎么办_通过BEM结构提升组件模块化
jvm·数据库·python
m0_748920362 小时前
如何用 click 与 mousedown 区分鼠标点击与按下的触发顺序
jvm·数据库·python
m0_515098422 小时前
C#怎么使用并发集合 C#ConcurrentDictionary和ConcurrentQueue线程安全集合怎么用【进阶】
jvm·数据库·python
yejqvow122 小时前
Redis如何处理集群网络分区_理解少数派网络孤岛由于无法获得选票而停止写入的保护机制
jvm·数据库·python
21439652 小时前
CSS Grid布局如何解决图片溢出网格单元_设置object-fit与网格尺寸
jvm·数据库·python
qq_654366982 小时前
C#怎么实现动态加载DLL C#如何在运行时动态加载和卸载程序集调用其中的方法【进阶】
jvm·数据库·python
智者知已应修善业2 小时前
【51单片机按键控制流水灯+数码管显示按键次数】2023-6-15
c++·经验分享·笔记·算法·51单片机
2301_764150562 小时前
WooCommerce 用户登录状态控制元素显隐的 CSS 实现方案
jvm·数据库·python
m0_743623922 小时前
CSS如何解决响应式布局中文字溢出_通过text-overflow-ellipsis处理
jvm·数据库·python