浅析pytest 钩子函数 之初始钩子和引导钩子

浅析pytest 钩子函数 之初始钩子和引导钩子

目录

1. F( arg1, arg2, …)

2. F( arg1, arg2=value2, …)

3. F( *arg1 )

1. F( arg1, arg2, …)

这是最常见的定义方式,一个函数可以定义任意个参数,每个参数间用逗号分割,用这种方式定义的函数在调用的的时候也必须在函数名后的小括号里提供个数相等
的值(实际参数),而且顺序必须相同,也就是说在这种调用方式中,形参和实参的个数必须一致,而且必须一一对应,也就是说第一个形参对应这第一个实参。例如:

def a(x,y): print(x,y)

调用该函数,a(1,2)则x取1,y取2,形参与实参相对应,如果a(1)或者a(1,2,3)则会报错。

2. F( arg1, arg2=value2, …)

这种方式就是第一种的改进版,提供了默认值,例如:

def a(x,y=3): print(x,y)

调用该函数,a(1,2)同样还是x取1,y取2,但是如果a(1),则不会报错了,这个时候x还是1,y则为默认的3。上面这俩种方式,还可以更换参数位置,比如a(y=4,x=3)用这种形式也是可以的。

关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。

使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。

3. F( *arg1 )

上面两种方式是有多少个形参,就传进去多少个实参,但有时候会不确定有多少个参数,则此时第三种方式就比较有用,
它以一个*(一个星号)加上形参名的方式来表示这个函数的实参个数不定,可能为0个也可能为n个。
注意一点是,不管有多少个,在函数内部都被存放在以形参名为标识符的元组中。

def a(*x): print(x) >>> a(1,2,3) (1, 2, 3) >>> a(x=1,y=2,z=3) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: a() got an unexpected keyword argument 'x'

将所有参数以元组(tuple)的形式导入:
实例

def foo(param1, *param2): print (param1) print (param2) foo(1,2,3,4,5)

以上代码输出结果为:

1
(2, 3, 4, 5)

此外,单星号的另一个用法是解压参数列表:

实例

def foo(runoob_1, runoob_2): print(runoob_1, runoob_2) l = [1, 2] foo(*l)

以上代码输出结果为:

1 2

4. F( **arg1 )

形参名前加两个*表示(双星号),参数在函数内部将被存放在以形式名为标识符的 dictionary (字典)中,这时调用函数的方法则需要采用 arg1=value1,arg2=value2 这样的形式。

def a(**x): print(x) >>> a(x=1,y=2,z=3) {'y': 2, 'x': 1, 'z': 3} # 存放在字典中 >>> a(1,2,3) # 这种调用则报错 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: a() takes exactly 0 arguments (3 given)

双星号(**)将参数以字典的形式导入:

示例:

def bar(param1, **param2): print (param1) print (param2) bar(1,a=2,b=3)

以上代码输出结果为:

1
{'a': 2, 'b': 3}

示例:

def foo(a, b=10, *args, **kwargs): print (a) print (b) print (args) print (kwargs) foo(1, 2, 3, 4, e=5, f=6, g=7)

以上代码输出结果为:

1
2
(3, 4)
{'e': 5, 'f': 6, 'g': 7}

到此这篇关于pytest 钩子函数 之初始钩子和引导钩子的文章就介绍到这了,更多相关pytest 钩子函数内容请搜索易知道(ezd.cc)以前的文章或继续浏览下面的相关文章希望大家以后多多支持易知道(ezd.cc)!

推荐阅读

    excel怎么用乘法函数

    excel怎么用乘法函数,乘法,函数,哪个,excel乘法函数怎么用?1、首先用鼠标选中要计算的单元格。2、然后选中单元格后点击左上方工具栏的fx公

    opporeno8参数配置及价格

    opporeno8参数配置及价格,面部,亿元,Oppo的荣誉2020年1月4日,接近屏幕关闭传感器是否支持双卡:支持oppor11splus什么时候上市的Oppo R11S P

    设置证书密码是什么|证书初始密码

    设置证书密码是什么|证书初始密码,,设置证书密码是什么证书密码是可以修改的,可以在企业网银上修改,也可以到银行网点修改。到网点修改要带

    excel中乘法函数是什么?

    excel中乘法函数是什么?,乘法,函数,什么,打开表格,在C1单元格中输入“=A1*B1”乘法公式。以此类推到多个单元。1、A1*B1=C1的Excel乘法公式

    魅蓝note6性能参数有哪些

    魅蓝note6性能参数有哪些,摄像头,蓝牙,魅蓝note6性能参数有哪些魅力蓝色Note6最好拍照。电池寿命更长。蓝色Note6使用高通 snapdragon 625

    标准差excel用什么函数?

    标准差excel用什么函数?,函数,标准,什么,在数据单元格的下方输入l标准差公式函数公式“=STDEVPA(C2:C6)”。按下回车,求出标准公差值。详细

    设置总账参数|用友u8设置总账参数

    设置总账参数|用友u8设置总账参数,,1. 用友u8设置总账参数1、首先要点开数据权限控制设置;2、选择想要设置控制的单据;3、打开后看到左上角

    csgo参数设置|csgo怎么保存

    csgo参数设置|csgo怎么保存,,csgo怎么保存第一步下载csgo的官方版本。然后再下载一个5e对战平台,PS:5e的账号和csgo的账号不是一个账号。第