当前位置: 首页 > news >正文

大连网站建设哪里好网站设计与网页配色

大连网站建设哪里好,网站设计与网页配色,个人博客网站制作论文,网站关键字优化工具若你要用.NET和Python交互#xff0c;那么你可以使用两种技术#xff1a;IronPython 和 Python.NET 。 但两者的基础实现和目标场景都不同#xff0c;因此如何使用它们也有所不同。 IrconPython简称 IPy , Python.NET 也叫 pythonnet 或 Python for .NET #xff0c;下面分…若你要用.NET和Python交互那么你可以使用两种技术IronPython 和 Python.NET 。 但两者的基础实现和目标场景都不同因此如何使用它们也有所不同。 IrconPython简称 IPy , Python.NET 也叫 pythonnet 或 Python for .NET 下面分别介绍。 IronPython IronPython 是一个开源的 Python 编程语言实现它运行在 .NET 框架和 Mono 上。这个项目由 Jim Hugunin 创立他也是 Jython 的创造者。IronPython 1.0 版本于 2006 年发布而最新的稳定版本 2.7.12 是在 2022 年 1 月发布的。最新的 3.4.1 版本于 2023 年 7 月发布包括对 .NET 5 的修复和对 .NET Core 及 .NET Standard 的支持。 IronPython 的主要特点包括 紧密集成 .NET 类库可以在 Python 代码中直接使用 .NET 类库。 与其他 .NET 语言的互操作性可以在 C# 或 VB.NET 等 .NET 语言中使用 Python 代码。 动态类型系统使用动态类型系统使得 Python 代码能够轻松地移植到 .NET Framework 上。 IronPython 为开发者提供了 Python 语言的所有优势同时增加了与 .NET 环境的无缝集成。这使得开发者可以在 .NET 应用程序中使用 Python 脚本或者在 Python 程序中调用 .NET 类库从而提高了代码的复用性和开发效率。 官网https://ironpython.net/ NuGet 包地址https://www.nuget.org/packages/IronPython 以下是在C#中调用Python代码的例子 1. 在C#中执行Python脚本的简单例子 var pythonEngine IronPython.Hosting.Python.CreateEngine(); var pythonScript pythonEngine.CreateScriptSourceFromString(print(Hello World)); pythonScript.Execute(); 这段代码会在控制台输出 Hello World  。 2. 从文件中加载并执行Python脚本 var pythonEngine IronPython.Hosting.Python.CreateEngine(); var pythonScript pythonEngine.CreateScriptSourceFromFile(..\\..\\HelloWorld.py); pythonScript.Execute(); Console.ReadKey(); 假设 HelloWorld.py 文件包含 print(Hello World)执行这段代码将会得到同样的输出。 3. 设置Python脚本的搜索路径并导入模块 var pythonEngine IronPython.Hosting.Python.CreateEngine(); Console.WriteLine(Search Paths:); var searchPaths pythonEngine.GetSearchPaths(); // 添加新的搜索路径 searchPaths.Add(..\\..); pythonEngine.SetSearchPaths(searchPaths); var pythonScript pythonEngine.CreateScriptSourceFromFile(..\\..\\HelloWorld.py); pythonScript.Execute(); 在这个例子中HelloWorld.py 脚本导入了一个名为 HelloWorldModule.py 的模块该模块包含一个打印 Hello World 的函数。 4. 执行Python函数并获取返回值 var engine IronPython.Hosting.Python.CreateEngine(); var scope engine.CreateScope(); // 从文件加载Python脚本 engine.ExecuteFile(MyPythonScript.py, scope); // 调用Python函数并获取返回值 var result engine.Operations.Invoke(scope.GetVariable(python_function_name)); Console.WriteLine(result); 在这个例子中MyPythonScript.py包含了一个名为 python_function_name的函数我们在C#中调用这个函数并打印其返回值。 5. 在C#中处理Python异常 try {     var engine IronPython.Hosting.Python.CreateEngine();     var scope engine.CreateScope(); // 执行可能会抛出异常的Python代码     engine.Execute(raise ValueError(An error occurred), scope); } catch (IronPython.Runtime.Exceptions.PythonException ex) {     Console.WriteLine(ex.Message); } 这段代码尝试执行一个会抛出异常的Python代码并在C#中捕获这个异常。 6. 使用Python脚本中定义的类 var engine IronPython.Hosting.Python.CreateEngine(); var scope engine.CreateScope(); // 从文件加载Python脚本 engine.ExecuteFile(MyPythonScript.py, scope); // 创建Python类的实例 dynamic MyClass scope.GetVariable(MyClass); dynamic myInstance engine.Operations.CreateInstance(MyClass); // 调用实例方法 myInstance.MyMethod(); 在这个例子中MyPythonScript.py 包含了一个名为 MyClass 的类我们在C#中创建了这个类的实例并调用了它的方法 MyMethod。 Python.NET Python.NET也称为 pythonnet是一个非常强大的库它允许 Python 代码与 .NET 公共语言运行时 (CLR) 进行交互。这意味着 Python 开发者可以直接在他们的代码中使用 .NET 的类库和功能而 .NET 开发者也可以在他们的应用程序中使用 Python 脚本。 Python.NET 的关键特性包括 无缝集成Python.NET 提供了与 CLR 的近乎无缝的集成使得在 Python 代码中调用 .NET 类库和功能变得非常简单。 跨平台支持它支持在 Windows、Linux 和 macOS 上的 .NET Framework 和 .NET Core。 动态类型Python.NET 支持 .NET 对象的动态类型这意味着你可以在 Python 中以动态的方式使用 .NET 对象而不需要提前声明类型。 关键字参数它还支持使用关键字参数来调用 .NET 方法这使得代码更加清晰易读。 Python.NET 在多个领域都有实际应用例如在网络爬虫领域它可以使爬虫从 Python 代码访问 .NET 功能如加载提供 Web 服务客户端或 Web 浏览器控件的 .NET 程序集与网站进行通信或呈现其内容。这样Python.NET 可以利用 .NET 的强大功能来增强网络爬虫的功能和性能。 此外Python.NET 还可以用于数据科学和机器学习项目因为它允许开发者将 Python 中流行的库如 NumPy、Pandas 和 Matplotlib与 .NET 生态系统中的工具和库结合起来使用。 项目地址https://github.com/pythonnet/pythonnet NuGet包https://www.nuget.org/packages/pythonnet/3.1.0-preview2024-03-03 以下是在C#中调用Python代码的例子 1. 在.NET中调用Python代码并获取结果 using Python.Runtime; class Program {     static void Main() {         using (Py.GIL()) // 初始化Python引擎         {             dynamic np Py.Import(numpy);             Console.WriteLine(np.cos(np.pi * 2));                          dynamic sin np.sin;             Console.WriteLine(sin(5));         }     } } 这段代码演示了如何在C#程序中使用Python.NET来调用numpy库的函数。 2. 在.NET中创建Python对象并调用其方法 using Python.Runtime; class Program {     static void Main()     {         using (Py.GIL()) // 初始化Python引擎         {             dynamic plt Py.Import(matplotlib.pyplot);             plt.plot(new[] { 1, 2, 3 }, new[] { 4, 5, 6 });             plt.show();         }     } } 这段代码展示了如何创建一个matplotlib的plot对象并在.NET应用程序中显示它。 3. 在.NET中处理Python异常 using Python.Runtime; class Program {     static void Main()     {         using (Py.GIL()) // 初始化Python引擎         {             try             {                 dynamic os Py.Import(os);                 Console.WriteLine(os.getcwd());                 os.chdir(/nonexistent/directory);             }             catch (PythonException ex)             {                 Console.WriteLine(ex.Message);             }         }     } } 这段代码尝试更改当前工作目录到一个不存在的路径并捕获并处理Python异常。 对比 IronPython 和 Python.NET 都是用于在 .NET 环境中运行 Python 代码的工具但它们在设计和使用上有一些关键的区别。 IronPython 是一个完全基于 .NET 的 Python 实现它允许你在 .NET 应用程序中直接使用 Python 代码。它与 .NET 类库紧密集成可以让你在 Python 代码中直接调用 .NET 类库和功能。如果你的项目主要基于 .NET 框架或者你想要与其他 .NET 语言如 C# 或 VB.NET进行深度集成IronPython 是一个很好的选择。此外IronPython 不受全局解释器锁GIL的限制这意味着在多核场景中它可能比 Python.NET 有优势。 Python.NET也称为 pythonnet是一个库它允许标准的 CPython 运行时与 .NET CLR 进行交互。这意味着你可以在一个主要基于 Python 的应用程序中集成一两个 .NET 组件。如果你已经有一个基于 Python 的项目并且只想添加一些 .NET 功能Python.NET 可能是更合适的选择。Python.NET 需要一个常规的 Python 解释器来运行而且它不支持将脚本编译成二进制形式这与 IronPython 不同。 总的来说如果你需要完全在 .NET 环境中工作IronPython 提供了更深层次的集成。而如果你只是想在 Python 项目中使用一些 .NET 功能Python.NET 可能会更加方便。每种工具都有其特定的用例和优势选择哪一个取决于你的具体需求和项目背景。 IronPython 和 Python.NET 的对比表 特性 IronPython Python.NET 实现 .NET 的 Python 实现 允许 CPython 与 .NET CLR 交互的库 集成程度 紧密集成 .NET 类库 与 .NET 类库交互但不如 IronPython 紧密 设计用途 在 .NET 环境中完全使用 Python 在 Python 项目中添加 .NET 功能 版本 最新稳定版 3.4.1 (2023年1月12) 根据 CPython 版本更新 动态类型 支持 支持 互操作性 与 C#、VB.NET 等 .NET 语言深度集成 主要用于在 Python 中调用 .NET 组件 编译 可以编译成二进制形式 不支持编译成二进制形式 GIL 不受 GIL 限制 受 GIL 限制
http://www.pierceye.com/news/145905/

相关文章:

  • 美食网站建设的功能免费做简历的网站
  • 网站建设公司谁管手机如何创建网站
  • 可以自己做网站优化吗最好用的wordpress主题
  • 瓜子二手车网站开发智慧团建注册登记入口
  • 青岛网站开发建设安阳市商祺网络有限责任公司
  • 自己怎么做装修网站网站建设设计岗位职责
  • php语言 网站建设投资2 3万小生意
  • 全美网站开发微转app是用网站做的吗
  • 禹州 什么团购网站做的好广州网站建设程序开发
  • 成都市微信网站建设公司专业app开发
  • 郑州网站建设hndream神木网站设计公司
  • 关于网站集约化建设的讲话抓取网站访客qq号码
  • 南昌住房城市建设支行官方网站海洋网络提供网站建设
  • 网站外链建设的八大基本准则做网站卖得出去吗
  • 网站建设不完整 审核天元建设集团有限公司一公司尤作岭
  • 论坛程序做导航网站专做轮胎的网站
  • 网站开发软件解决方案个人网站可以做资讯吗
  • 网站右击无效是怎么做的牛商网建设的食品网站
  • 新北网站建设全网营销网站建设
  • 网站建设与管理 教学设计自己的身份已经网站备案了
  • 长沙网站列表网站开发实例及研究
  • 东莞阳光网官方网站吉林百度查关键词排名
  • 网站开发投标书范本目录左旗网站建设
  • 一流的五屏网站建设wordpress 移动端 接口
  • 服装行业网站建设兴宁网站设计
  • 网站两边的悬浮框怎么做wordpress 非插件代码高亮
  • 网站安全管理制度建设下载网站建设公司哪家强
  • 网络直播网站开发长春市城乡建设部网站
  • 自己搭建服务器做网站要多久汕头网络推广电话
  • 除了昵图网还有什么做图网站深圳房地产网站开发