python跟c C 與python結合程式設計

2021-10-13 13:21:40 字數 1783 閱讀 7967

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,間隔...