python引用本地函数 python调用本地程序

RIDE如何调用自定义Python文件中的函数1. 如何从零开始编写Python函数?
参考另一篇文章:
2. IDEA如何调用编写的Python文件?
a. 将编写的Python文件放入到RIDE 某个Project的一个用于存放Custom Library的文件夹下
b. 在Directory或者Test Suite或者Test Case Level的Edit Page中Import对应的python文件作为library
其中黑色的Library表示引用成功 。
红色的表示引用失败(一般都是文件路径错误 , 或者文件编译出错) 。
蓝色的表示引用的是关键字或者定义的变量资源 。
3. Python 文件中的函数如何被添加到Test Step中调用?
如下图所示,我的PreparePremia.py被添加到Attribution Test Suite级别了 , 所以这个Test Suite下面所有的Test Case都可以解析该python中的函数,我们看看“save_monthly_premia_data”是如何被用到Test Step中的:
Test Step的最后一行关键字"Save Monthly Premia Data"就是调用了该文件中的关键字:
可以按F5查看:
4. Python文件中的函数如何被Test Suite调用?
我们打开Test Case可以看到添加Test Step的table,明显就能看出如何调用python中的函数 。
但是打开Test Suite面板,我们看到了什么?
只有Settings,variables 和Metadata区域 。。。
截图上我在Suite Setup的时候调用了一个自定义关键字“Get Input Params”,并且传递了两个参数"${SUITE NAME}"和"RiskAttributionCalculation",那这个关键字是怎么来的呢?
可以看到这个自定义关键字其实也是调用了“ExcelUtil.py”文件中的“parse_input_params”函数的:
【python引用本地函数 python调用本地程序】 并且还设置了一个Suite级别的全局变量“${input_params}” 。
所以:
Suite Setup的意思就是:
调用自定义关键字"Get Input Params"得到一个全局变量"${input_params}".
因此:
Test Suite级别都是引用自定义的关键字来初始化某些值 。而这个自定义的关键字会调用Python文件中的函数 。
5. 得到的Suite级别的变量如何被调用呢?
因为MonthlyPremia是Attribution Suite下面的Test Case, 所以这个Case是可以直接调用"${input_params}"的哦~~ 。
我返回的input_params是dict,所以需要传入key来得到对应的Value 。
写的很直白哦,如果有什么问题大家可以留言哦,谢谢阅读 , 么么哒~~~
python 引用python引用有哪些?来和我一起解读一下吧~
python不允许程序员用传值和传引用 , 可以选择选用“传对象引用”的方式,这种方式等同于将传值和传引用综合起来,如果函数收到的是一个可变对象的引用,就能修改对象的原始值,相当于通过“传引用”来传递对象,如果函数收到的是一个不可变对象的引用,就不能直接修改原始对象,相当于通过“传值’来传递对象 。
python引用主要有:不可变数据引用和可变数据引用,其中不可变数据引用包括:字符串String、浮点型Float、元祖Tuple 。
1、字符串String
#1.字符串引用a='1234'b=aa='hello'print('a:',a) #a:helloprint('b:',b)#b:1234#查看内存地址print('a的内存地址是:',id(a))print('a的内存地址是:',id(b))结果是:a: hellob: 1234a的内存地址是: 1651738050720a的内存地址是: 1651737219456分析:b的值指向a的值 。python开辟了新的内存空间给b,所以a和b的内存地址不一样 。
2、浮点型Float
#2.浮点型引用x=3.14y=xx=9.88print('x:',x)print('y:',y)print('x的内存地址是:',id(x))print('y的内存地址是:',id(y))结果是:x: 9.88y: 3.14x的内存地址是: 2578075558248y的内存地址是: 2578075558008
3、元祖Tuple
元祖虽然是序列,且包含多个元素 , 但是不支持原处修改,如tuple[1]=1是非法的 。#3.元祖引用t1=(1,2,3,4,5)t2=t1t1=('tuple','hello')print('t1:',t1)print('t2:',t2)print('t1的内存地址是:',id(t1))print('t2的内存地址是:',id(t2))结果是:t修改后为: (1, 2, 3, ['x', 'a', 'D', 'b'])可变数据引用包括:列表引用、字典引用、函数的传递引用

推荐阅读