1、python底层是用C写的,不是C++。
Python 在执行代码时,会使用到解释器。Python 有三种解释器 CPython、JPython、Pypy。
其中 CPython 就是使用 C 语言编写的,解释器的实现方式可以有很多种。

2、C和C++的区别是?
C++是面向对象的,就像Python一样,所以C++支持多态、封装和继承。但C不支持。
C没有函数重载,没有函数重写,数据类型所蕴含的无穷潜力,在C这里仅仅用于定义内存布局,简单的类型检查。
C++不过是比C多了很多语法糖,每一条语法糖,都代表一种新的抽象手法,表示写优雅的代码又多了一种选择。
比如说,析构函数,用以当对象的生命周期结束时将被调用。

析构函数(destructor) 与构造函数相反,当对象结束其生命周期,如对象所在的函数已调用完毕时,系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,delete会自动调用析构函数后释放内存)。–百度百科

比如说,重载函数,

重载函数是函数的一种特殊情况,为方便使用,C++允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,也就是说用同一个函数完成不同的功能。这就是重载函数。重载函数常用来实现功能类似而所处理的数据类型不同的问题。不能只有函数返回值类型不同。

比如说,运算符重载

C++支持运算符重载,如+号本来的意义仅存在于数值之间的求和,而标准库的std::string重载了+号,可以用来拼接两个字符串。

比如说异常处理等等。

析构函数:做善后清理内存;
构造函数:用来初始化;
重载函数:相同函数名,参数类型或个数不同,完成类似的工作。

3、C++和C#
C#常见于内部或者企业应用而不是商业软件。可以在.NET框架中的客户端和服务器端开发中找到。
C++是一门面向对象的语言,而C#被认为是一门面向组件(component)的编程语言。
面向对象编程聚焦于将多个类结合起来链接为一个可执行的二进制程序,而面向组件编程使用可交换的代码模块(可独立运行)并且你不需要知道它们内部是如何工作的就可以使用它们。
C#不使用指针(pointer)