1、首先在當(dāng)前目錄下找有沒有abc、abc.py
10余年的克什克騰網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都營(yíng)銷網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整克什克騰建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“克什克騰網(wǎng)站設(shè)計(jì)”,“克什克騰網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
2、找python的安裝目錄:F:\Python2.7Exe\Lib\site-packages;F:\Python2.7Exe\Lib;
3、找電腦中path下面的目錄
于是我改變路徑,將保存的abc.py文件直接放在python的安裝目錄下,使用import abc命令,然后在Python交互界面用 abc.XXX(XXX是abc.py文件中的定義函數(shù)的函數(shù)名),解決了調(diào)用自定義函數(shù)問題。
1. 如何從零開始編寫Python函數(shù)?
參考另一篇文章:
2. IDEA如何調(diào)用編寫的Python文件?
a. 將編寫的Python文件放入到RIDE 某個(gè)Project的一個(gè)用于存放Custom Library的文件夾下
b. 在Directory或者Test Suite或者Test Case Level的Edit Page中Import對(duì)應(yīng)的python文件作為library
其中黑色的Library表示引用成功。
紅色的表示引用失?。ㄒ话愣际俏募窂藉e(cuò)誤,或者文件編譯出錯(cuò))。
藍(lán)色的表示引用的是關(guān)鍵字或者定義的變量資源。
3. Python 文件中的函數(shù)如何被添加到Test Step中調(diào)用?
如下圖所示,我的PreparePremia.py被添加到Attribution Test Suite級(jí)別了,所以這個(gè)Test Suite下面所有的Test Case都可以解析該python中的函數(shù),我們看看“save_monthly_premia_data”是如何被用到Test Step中的:
Test Step的最后一行關(guān)鍵字"Save Monthly Premia Data"就是調(diào)用了該文件中的關(guān)鍵字:
可以按F5查看:
4. Python文件中的函數(shù)如何被Test Suite調(diào)用?
我們打開Test Case可以看到添加Test Step的table,明顯就能看出如何調(diào)用python中的函數(shù)。
但是打開Test Suite面板,我們看到了什么?
只有Settings, variables 和Metadata區(qū)域。。。
截圖上我在Suite Setup的時(shí)候調(diào)用了一個(gè)自定義關(guān)鍵字“Get Input Params”,并且傳遞了兩個(gè)參數(shù)"${SUITE NAME}"和"RiskAttributionCalculation",那這個(gè)關(guān)鍵字是怎么來的呢?
可以看到這個(gè)自定義關(guān)鍵字其實(shí)也是調(diào)用了“ExcelUtil.py”文件中的“parse_input_params”函數(shù)的:
并且還設(shè)置了一個(gè)Suite級(jí)別的全局變量“${input_params}”。
所以:
Suite Setup的意思就是:
調(diào)用自定義關(guān)鍵字"Get Input Params"得到一個(gè)全局變量"${input_params}".
因此:
Test Suite級(jí)別都是引用自定義的關(guān)鍵字來初始化某些值。而這個(gè)自定義的關(guān)鍵字會(huì)調(diào)用Python文件中的函數(shù)。
5. 得到的Suite級(jí)別的變量如何被調(diào)用呢?
因?yàn)镸onthlyPremia是Attribution Suite下面的Test Case, 所以這個(gè)Case是可以直接調(diào)用"${input_params}"的哦~~。
我返回的input_params是dict,所以需要傳入key來得到對(duì)應(yīng)的Value。
寫的很直白哦,如果有什么問題大家可以留言哦,謝謝閱讀,么么噠~~~
定義一個(gè)函數(shù)只給了函數(shù)一個(gè)名稱,指定了函數(shù)里包含的參數(shù),和代碼塊結(jié)構(gòu)。這個(gè)函數(shù)的基本結(jié)構(gòu)完成以后,你可以通過另一個(gè)函數(shù)調(diào)用執(zhí)行,也可以直接從Python提示符執(zhí)行。
如下實(shí)例調(diào)用了printme()函數(shù):
復(fù)制代碼 代碼如下:#!/usr/bin/python
# Function definition is here
def printme( str ):
"打印任何傳入的字符串"
print str;
return;
# Now you can call printme function
printme("我要調(diào)用用戶自定義函數(shù)!");
printme("再次調(diào)用同一函數(shù)");
#以上實(shí)例輸出結(jié)果:
#我要調(diào)用用戶自定義函數(shù)!
#再次調(diào)用同一函數(shù)
這個(gè)問題涉及到包和模塊管理。包名和模塊名一般是小寫。你的文件是下面的結(jié)構(gòu),需要?jiǎng)?chuàng)建空文件 b/__init__.py,將b目錄變成package。a/a.py
12
from b.c import indexindex()
b/c.py
12
def index(): print("hello")
b/__init__.pya/a.py 里面有兩種引用方式,相對(duì)引用和絕對(duì)引用:# 如果a.py是 library,兩種引用方式都可以
1
from ..b.c import index
# 如果a.py是 executable,必須使用絕對(duì)引用
1
from b.c import index
如果使用絕對(duì)引用,需要確保b所在目錄在PYTHONPATH (sys.path)里面,比如可以這樣執(zhí)行:
1
env PYTHONPATH=. python a/a.py
在python中,除了調(diào)用下載的擴(kuò)展庫(kù)之外,還可以自定義函數(shù),方便自己。把基礎(chǔ)模塊放在固定文件夾(或相對(duì)固定文件夾),使用sys.append(r’自定義的模塊路徑’)實(shí)例如下:
1、在E:pycharm新建hello.py實(shí)現(xiàn)基礎(chǔ)功能函數(shù)(定義一個(gè)hello()函數(shù))
2、 調(diào)用自定義的函數(shù)
3、 運(yùn)行結(jié)果為:
更多Python相關(guān)技術(shù)文章,請(qǐng)?jiān)L問Python教程欄目進(jìn)行學(xué)習(xí)!以上就是小編分享的關(guān)于python中如何調(diào)用自己寫的函數(shù)的詳細(xì)內(nèi)容希望對(duì)大家有所幫助,更多有關(guān)python教程請(qǐng)關(guān)注環(huán)球青藤其它相關(guān)文章!