python中*args与**kwargs,与find

编程入门 行业动态 更新时间:2024-10-09 07:17:56

python中*<a href=https://www.elefans.com/category/jswz/34/1665315.html style=args与**kwargs,与find"/>

python中*args与**kwargs,与find

1、*代表什么

(1)字符串

>>> s1 = "123"
>>> print(*s1)
1 2 3
# 结果是把s1字符串拆开

(2)列表或元组

>>> l1 = ["1s", 2, 3]
>>> print(*l1)
1s 2 3  # 把列表或元组的每一个元素拆出来

结论:可以看到*是用来拆分一个集合中

2、*接收参数

定义两个对比一下,可以看到接收的时候把多个参数给拼接起来变成一个元组,当你传元组的时候会拼接成一个大的元组

def canshu_youxing(*value):"""接收参数有*"""print("-----接收参数有*-----")print(type(value))print(value)print(*value)
>>> canshu_youxing("参数1", "参数2")
-----接收参数有*-----
<class 'tuple'>
('参数1', '参数2')
参数1 参数2>>> tup = ("参数1", "参数2")
>>> canshu_youxing(tup)
-----接收参数有*-----
<class 'tuple'>
(('参数1', '参数2'),)
('参数1', '参数2')

3、selenium封装的方法

def click_element(self, *by):"""点击元素参数 by:接收的是两个变量:By.XPATH,'测试'"""ele = self.find_element(*by)return ele.click()def input_element(self, by, text):"""元素输入文本参数1 by:(By.XPATH,'测试'),参数2 text:输入的文本内容"""ele = self.find_element(*by)ele.clear()return ele.send_keys(text)

第一种click_element:我需要传的定位的两个变量就可以,所以用*by把两个变量合并成一个元组,在用的时候*by把元组分开,变成两个变量

第二种input_element:我需要传定位和输入的文本内容,所以by接收的时候直接接收过来元组,在用的时候*by把元组分开,变成定位的两个变量

4、**kwargs与*args类似

接收的时候传入k=v,**接收成一个字典。有时候嫌多个变量直接等于关系麻烦,可以放入到字典中,然后用**提取,结果是一样的。

def canshu_liangxing(**kwargs):"""接收参数两*"""print(kwargs)for key in kwargs.keys():print("key是:%s,value是%s" % (key, kwargs[key]))
>>> canshu_liangxing(a=1, b=2)
d1 = {"a": 1, "b": 2}
key是:a,value是1
key是:b,value是2
>>> d1 = {"a": 1, "b": 2}
>>> canshu_liangxing(**d1)
d1 = {"a": 1, "b": 2}
key是:a,value是1
key是:b,value是2

更多推荐

python中*args与**kwargs,与find

本文发布于:2024-02-06 18:05:17,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1750956.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:args   python   find   kwargs

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!