日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

這回讓我們把 Python 玩出花來

 只怕想不到 2021-10-26

直接上代碼先看效果:

import com; import winex; import py3; var pyCode = /** def testPy(com,winex):
# 在 Python 里直接使用 aardio 對象,簡單得就像在 aardio 里調(diào)用 aardio 對象 wsh = com.CreateObject('wscript.shell') wsh.exec('notepad') # 直接調(diào)用 aardio 標(biāo)準(zhǔn)庫函數(shù) winex.wait(None,None,'Notepad','Edit'); # 直接使用 aardio 創(chuàng)建的迭代器 for(hwnd,title,threadId,processId) in winex.each('Notepad'): hCtrl = winex.findEx(hwnd,None,'Edit') winex.sendString('測試一下',hCtrl)**/
//# 執(zhí)行Python代碼py3.exec( pyCode );
//# 用 py3.export(com) 直接將 aardio 對象完整導(dǎo)入 Pythonpy3.main.testPy( py3.export(com), py3.export(winex) );


上面代碼中的  py3.export() 是一個(gè)類構(gòu)造函數(shù),參數(shù)可以指定 aardio 中的對象、類、函數(shù)、迭代器等等 ……,返回一個(gè)可以在 Python 中使用的代理對象—— 可用于在 Python 中直接操作 aardio 對象,不需要寫任何復(fù)雜的代碼。

在 aardio 里調(diào)用 Python 對象是同樣的傳址方式,Python 對象在 aardio 里會(huì)表現(xiàn)為一個(gè) pyObject 對象,這個(gè) pyObject 對象可以像普通 aardio  對象一樣使用,又保持對原始  Python 對象的引用 —— 可用于在 aardio 中直接操作 Python 對象。

但是默認(rèn)情況下,aardio 對象轉(zhuǎn)換為 Python 對象是傳值而不是傳址,好處是 Python 得到的是純粹的 Python 對象,一切變得純粹而簡單,缺點(diǎn)是斷開了與 aardio 原始對象的連接,能做一般的數(shù)據(jù)交換但不能直接從 Python 中控制 aardio  對象。

之前我們可以在 aardio 中利用 py3.export 導(dǎo)出 aardio 函數(shù)庫模塊,例如:

py3.export.aardio = {
exportFunction = function(){   };   exportFunction2 = function(){   };}

上面這種寫法是將 py3.export 作為類的名字空間使用 —— 并定義靜態(tài)的成員對象,而這些類的靜態(tài)成員對象就自動(dòng)成為 Python 中可以使用 import 語句引入的 aardio  函數(shù)庫模塊( 這些模塊只應(yīng)當(dāng)包含普通的自定義函數(shù))。

然后在 Python 中我們可以簡單地引入上面的函數(shù)庫模塊,例如:

var pyCode = /**import aardio;def testPy():    aardio.exportFunction ()**/
//運(yùn)行Python代碼py3.exec( pyCode );

這種導(dǎo)出函數(shù)庫模塊的名稱不一定要是 'aardio',你可以修改為其他模塊名稱。要注意這種方式導(dǎo)出的只是純函數(shù)庫模塊,其參數(shù)與返回值的交互轉(zhuǎn)換規(guī)則仍然遵守 Python 擴(kuò)展庫的默認(rèn)規(guī)則:

1、Python 對象傳入 aardio 是傳址2、aardio 對象傳入 Python 是傳值

而新增的 py3.export () 則提供了全新的方式,讓 aardio 對象以傳址的方式傳入 Python —— 以實(shí)現(xiàn)在 Python 中直接調(diào)用、控制 aardio 對象。這些是最新版本 Python 擴(kuò)展庫提供的功能( aardio 中的 Python 擴(kuò)展庫包含 py3,py2,py 等擴(kuò)展庫,覆蓋 Python 各主要版本,功能與接口保持兼容并同步更新 ),相關(guān)的范例、文檔已更新。

另外 py3,py2,py 擴(kuò)展庫都是完全開源的,代碼量也非常少,查看這些庫的源代碼可了解更多的細(xì)節(jié)。

圖片

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多