登录
首页 >  文章 >  python教程

Pythonparam参数详解与使用教程

时间:2025-11-28 17:20:12 148浏览 收藏

Python中param函数使用详解:初学者易混淆,实则Python本身并无内置`param`函数。本文深入剖析`param`在不同场景下的应用:函数参数中,`param`指代形参,支持位置参数、默认参数、可变参数等多种类型。在requests库中,`params`参数用于构建GET请求的URL查询字符串,方便传递参数。而在pytest测试框架中,`pytest.param`常与`@pytest.mark.parametrize`结合,实现参数化测试并进行标记配置。此外,HoloViz的param库提供参数化类的声明,需单独安装。掌握这些用法,能有效提升Python编程效率和代码可读性。

Python中无内置param函数,常见用法包括:函数参数支持位置、默认、args、*kwargs;requests库中params用于构造URL查询字符串;pytest中pytest.param用于参数化测试并配置标记;此外param库可声明参数化类,需单独安装。

python param函数用法

Python 中并没有内置的 param 函数,你可能是指函数参数(parameters)的用法,或者某些库中如 pytest.paramrequests 中的 params 参数等。下面从常见使用场景来说明。

函数参数的基本用法

在定义函数时,param 通常指参数名,用于接收传入的数据。

支持多种参数类型:

  • 位置参数:按顺序传递
  • 默认参数:带默认值的参数
  • 可变参数 (*args):接收任意数量的位置参数
  • 关键字参数 (**kwargs):接收任意数量的关键字参数

示例:

def greet(name, age=20, *hobbies, **details):
    print(f"Hello {name}, age {age}")
    if hobbies:
        print("Hobbies:", hobbies)
    if details:
        print("Details:", details)
<p>greet("Alice", 25, "reading", "swimming", city="Beijing", job="Engineer")
</p>

requests 库中的 params 参数

在使用 requests 发送 GET 请求时,params 用于构造 URL 查询字符串。

它接收一个字典,自动编码为 ?key=value&... 形式。

示例:

import requests
<p>url = "<a target='_blank'  href='https://www.17golang.com/gourl/?redirect=MDAwMDAwMDAwML57hpSHp6VpkrqbYLx2eayza4KafaOkbLS3zqSBrJvPsa5_0Ia6sWuR4Juaq6t9nq5roGCUgXuytMyerpV6iZXHe3vUmsyZr5vTk6a8ZIZkrrKFmnmyh6O_t7dsgXaJ0bOIg8-FzalskdN9qbGGl2m0gI2qfmuGsrKVu2mNrJHPs4VuoQ' rel='nofollow'>https://httpbin.org/get</a>"
payload = {"name": "Alice", "age": 25}</p><p>response = requests.get(url, params=payload)
print(response.url)  # 输出: <a target='_blank'  href='https://www.17golang.com/gourl/?redirect=MDAwMDAwMDAwML57hpSHp6VpkrqbYLx2eayza4KafaOkbLS3zqSBrJvPsa5_0Ia6sWuR4Juaq6t9nq5roGCUgXuytMyerpV6iZXHe3vUmsyZr5vTk6a8ZIZktWttmJKQjnG2ut6ojWSM0r2LYtuHlaqnkrpgqbCFfZ6usoWaioCOaLSnp2iOhqKVvnh63IaVrqOF0JtksYaYoLKznJp9s4eks7qzao2soqI' rel='nofollow'>https://httpbin.org/get?name=Alice&age=25</a></p>

pytest 中的 pytest.param

在测试框架 pytest 中,pytest.param 用于为参数化测试提供数据和额外配置(如标记、ID)。

常与 @pytest.mark.parametrize 一起使用。

示例:

import pytest
<p>@pytest.mark.parametrize(
"input,expected",
[
pytest.param(1, 2, id="basic"),
pytest.param(2, 4, id="double"),
pytest.param(3, 6, marks=pytest.mark.xfail),  # 标记为预期失败
]
)
def test_double(input, expected):
assert input * 2 == expected
</p>

自定义 param 类或函数?

如果你看到某个项目中使用了自定义的 param 函数,可能是来自第三方库如 param(HoloViz 的 param 库),用于声明参数化类。

例如:

import param
<p>class MyClass(param.Parameterized):
name = param.String("Anonymous")
age = param.Integer(18)</p><p>obj = MyClass(name="Bob", age=30)
print(obj.name)  # Bob
</p>

这个 param 是一个独立库,需通过 pip install param 安装。

基本上就这些情况。根据上下文判断“param”具体指什么很重要。

今天关于《Pythonparam参数详解与使用教程》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>