实现C#和Python高效率混合编程

本文探讨了C#和Python混合编程的常见问题,包括跨平台限制和编程复杂性,并提出通过socket通信实现基本的混合编程方案,以解决这些问题。通过C#建立服务器端,Python作为客户端,实现了两者间的交互。文章还提供了简单的代码示例,并鼓励读者进一步定制协议以适应不同需求。
摘要由CSDN通过智能技术生成

为什么C#和Python要屡屡进行混合编程呢?之前我们提到了使用托管C++封装Python的核心库为一个托管dll,然后供C#调用的途径,这种方式算是一种比较科学的方式。但是它仍然有两个小的问题,一来,我们是封装了Win平台的Python,使用的是托管C++,这就侧面说明了这个托管dll是服从于.NET Framework的,而.NET Framework和Windows绑定。二来,我们如果通过源代码的形式来调用Python,那么Python简易方便的编码特性就会完全丢失。总结下来就是两个缺点

1.无法跨平台

2.无法进行优雅的编程

3.进行类型转换的时候比较麻烦

么提到混合编程,还是有非常多的方式的,这里的话,我们实现一种最基本的方式,案例就采用C#和Python。

这种方式就是通过一种传输渠道,可以是文件,也可以是任何的通信渠道。(不管什么渠道,它们都有一个特性,即它们的规范和实现它们的语言没有任何关系)。此处我就可以通过socket来实现,如果是socket实现,那么很好的解决了跨平台和简易编程的问题(此处的简易编程指的是,如果我们通过封装源代码的形式来调用,则完全抛弃了语言的语法)

socket适用于很多不同的语言之间,现在我们尝试用C#和Python来进行普通的交流

默认C#是服务端而Python是客户端

class PyTransfer {
    //和Python语言进行socket通信
    //communicate with Py
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值