python元组类型的变量以及字符串类型的变量作为参数进行传值

  今天做selenium元素对象剥离时(我把元素对象都放到了元组类型的变量中,格式:user = (“id”,“X-Auto-2”)),遇到一个元组变量,以及str字符串变量一起作为参数传值的问题,发现输出的字符串是元组中的第一个数值,研究了大半天,终于搞明白啦。

  1、函数中传参时,各变量类型是有先后顺序的,如:def name(x,x,*lo,**loo),整型、字符串等类型必须放在元组(*号开头)和字典(**两个星号)前面

  2、如:def name(self,x,x,*lo,**loo),传参时self必须去掉,否则打印的数据会错乱。

  看到了吗,上面self也被传了参数,并且*locator元组中的数值被分割赋值了。这不是我想要的结果,除非给self也给赋值,或者去掉self。

 1 locator = ("ID","X-Auto-2")
 2 user = "system"
 3 self = None
 4 print(locator)
 5 print(type(locator))
 6 
 7 def group(self,user_text,*locator):
 8     print("self------   %s"% self)
 9     print("user_text------   %s"% user_text)
10     print(locator)
11 
12 group(self,user,*locator)

  我自己做的框架已经实现了log、截图、读取config.ini参数,并实现对象库、元素库(元素放到了元组变量中进行管理)、案例库分离。年后实现从excel中读取数据、收到邮件,集成测试报告等。

原文地址:https://www.cnblogs.com/zhuque/p/8436614.html