在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
首先,Python与JAVA一样,是一门开源的、跨多平台的语言。而C#本身不是开源的,且只能运行在Windows平台上。 1. 编译性 Python是一门解释性脚本语言,源代码不需要编译可以直接运行,运行时Python字节码解释器解释源代码并执行相关命令。Python的源代码文件.py可以直接运行,如果装了Python在本地的话。而C#则需要编译为IL,运行时由CLR托管运行。 2. 数据类型 Python的数据类型比较少,基本数字类型只有5种,序列类型三种:字符串,元组,列表。映射类型一种:字典。C#的内置数据类型则有很多。Python没有double类型。Python没有char或byte类型来保存单一字符或8位整型。Python有个内置的复数数字类型,C#没有。 3. 面向对象 Python中代码(字段,函数)可以不放在类中,而是直接放在.py文件下,C#不允许这么做。 4. 代码块 Python缩进,C#是大括号。 5. Switch Python没有 6. for/foreach Python没有foreach,Python的for循环类似于C#的foreach。要实现C#的for循环功能,Python要借助于range()函数。 7. 列表解析/切片操作 C#没有这个功能。 8. 自增/自减运算 Python不支持 9. 变量声明 Python无需显式的声明变量,在赋值时自动声明。Python也不需要变量类型声明,因为是动态类型,解释器判断类型。C#需要先声明,并指定类型,再赋值。 10. 内建函数 Python的有些内建函数,可以无需通过类而直接调用。 11. 字符串 Python的字符串符号有3种: ' " ''', 比较灵活,C#只有“。 12. 错误和异常 Python中try语句中有个else子句,C#没有。 13. 函数 Python的函数返回值相当灵活,可以根据判断条件返回不一样的数据类型,也可以以返回一个元组的形式返回多个数据类型。Python的函数没有定义返回值类型。 Python的函数可以作为参数传入函数,而C#实现类似的功能需要借委托来实现。 你可以在任何时候给Python的函数添加属性。 14. 内嵌函数 Python的函数体内仍然可以定义一个函数,称为内部/内嵌函数。 15. 函数的可变参数 Python的可变参数非常灵活,可以有非关键字可变长参数和关键字变量参数(字典)两种。C#只支持非关键字可变长参数,而且C#的可变参数都必须为同一类型。 16. 模块和文件 Python中一个文件被看作是一个独立模块,一个模块也可以被看作是一个文件。模块的文件名就是模块的名字加上扩展名.py。与其他可以导入类的语言不同,在Python中你导入的是模块或模块属性。C#中与模块功能类似的是名称空间,一个名称空间可以存在于多个文件甚至dll中,在导入名称空间后,其名称空间下的类可以直接使用。 17. 加载引用机制 因为Python代码是不编译的,因此其更适合通过设置搜索路径的方式访问其他的Python代码。而C#是通过添加引用的方式访问其他程序集中的代码。 18. 继承机制 Python支持多继承,体现了面向对象的合成的特性。C#不支持多继承。 19. 抽象性 Python不支持纯虚函数,也没有抽象方法。而C#则支持接口和抽象方法。 |
请发表评论