c#與python結合程式設計
形式:用c#寫介面和事件觸發,呼叫python指令碼進行邏輯和資料處理。 好處:編寫好介面和事件觸發之後,可以動態改動py指令碼,不需要重新編譯程式。 缺點:使用的電腦需要裝有python,同時程式需附帶多個ironpython的dll。
方法:1、安裝ironpython
2、新建c#專案。新增引用:ironpython.dll,microsoft.dynamic.dll,microsoft.scripting.dll
3、在c#檔案新增python的呼叫。
//宣告並定義呼叫python的類
scriptengine engine;
scriptscope scope;
object myinstance;
engine = python.createengine();
scope = engine.createscope();
var code = engine.createscriptsourcefromstring("***xx");
//通過string文字呼叫py語句,也可以呼叫fromfiles函式來呼叫py指令碼
code.execute(scope);
//執行上述py**
var myclass = scope.getvariable>("control");
//把py指令碼中的類提到c#中,或者是呼叫py指令碼中的類或者變數
myinstance = myclass("hello world", textbox1.text);
//例項化該類,並能呼叫建構函式進行初始化
//把c#的變數傳入到py中
engine.operations.setmember(myinstance, "listbox1", listbox1);
engine.operations.setmember(myinstance, "treeview1", treeview1);
engine.operations.setmember(myinstance, "richtextbox1", richtextbox1);
//呼叫py指令碼中的類成員函式
engine.operations.getmember>(myinstance, "gettree")(textbox1.text);
4、在python檔案新增c#類
#引入ironpython庫和c#庫
#新增python庫
import clr,sys
clr.addreference('ironpython')
clr.addreference('system.windows.forms')
clr.addreference('system.drawing')
#把c#的控制項類提出來,也可以直接import,但是呼叫這些空間的時候就要把呼叫寫全,例如
system.windows.forms.treenode
from system.windows.forms import treenode
from system.windows.forms import listbox
from system.windows.forms
import treeview from system.windows.forms
import textbox from system.windows.forms
import richtextbox from system.drawing import color
把c#空間類例項化 listbox1 = listbox()
出處(
python原理 強化學習 原理與Python實現
強化學習 原理與python實現 出版日期 2019年08月 檔案大小 17.18m 支援裝置 60.00 適用客戶端 圖書簡介 目錄全書分為三個部分。第一部分了解強化學習應用,了解強化學習基本知識,搭建強化學習測試環境。該部分包括 強化學習的概況 強化學習簡單示例 強化學習演算法的常見思想 強化學...
windows與linux安裝Python虛擬環境
首先安裝工具 如果想自定義虛擬環境位置,可以修改環境變數,路徑自己指定想要放虛擬環境的地方 修改環境變數 workon home 所有虛擬環境儲存位置的路徑 這樣我們建立的虛擬環境就知可以按照我的需求存放 指定安裝python3的虛擬環境 python引數後面指向安裝python3 的路徑,然後給虛...
PAT 1036 跟歐巴馬一起程式設計 python
美國 歐巴馬不僅呼籲所有人都學習程式設計,甚至以身作則編寫 成為美國歷史上首位編寫計算機 的 2014年底,為慶祝 電腦科學教育周 正式啟動,歐巴馬編寫了很簡單的計算機 在螢幕上畫乙個正方形。現在你也跟他一起畫吧!輸入格式 輸入在一行中給出正方形邊長n 3 n 20 和組成正方形邊的某種字元c,間隔...