Python可以说是目前最火的语言之一了,人工智能的兴起让Python一夜之间变得家喻户晓,Python号称目前最最简单易学的语言,现在有不少高校开始将Python作为大一新生的入门语言。本萌新也刚开始接触Python,发现Python与其他语言确实有很大的区别。Python是由C语言实现的,因此想把Python与C语言做一个简单的比较。

一、

C语言是编译型语言,经过编译后,生成机器码,然后再运行,执行速度快,不能跨平台,一般用于操作系统,驱动等底层开发。

Python是编译型还是解释型这个界限并不明显,但大致上可以理解为解释型语言,执行速度慢,由于Python虚拟机,Python是可以跨平台的,Python高度集成适合于软件的快速开发。

二、

C语言的数据类型如下图:

C语言中需要事先定义变量类型,以int类型为例,当定义一个int型变量后,就会在内存中开辟4个字节,再来进行初始化,由于长度是指定的,在运算过程中需要考虑,溢出,精度等问题。

Python中的数据类型:

1.Number:数字

Int

Float

Bool

Complex

2.String:字符串

3.List:列表

4.Tupel:元组

5.Sets:集合

6.Dictionary:字典

ython不需要事先定义变量类型,以a=3为例,在内存中存放一个整数3,然后再用变量a指向3,变量a是没有类型的,我们所说的类型是指变量所指的内存中对象的类型。

从数据类型上就可以看出Python的友好性,基本数据类型变少了,没有烦人的指针,不需要考虑数据溢出和精度的问题,当在程序中需要使用某个变量时,就能够直接使用,而不需要在程序开头定义变量。除此之外,Python还提供了str,list,dict这些强大的数据类型,让程序开发变的更为简单。

三、

Python还提供了一个交互界面,输入python进入交互界面,输入exit()退出交互界面,类似于Linux终端,输入一行命令,执行一行,为学习Python提供了很大的便利。

四、

在运算符和优先级上面,两者并没有大的区别,但在python中没有自加和自减运算符,在逻辑运算符上Python也区别于C语言,Python中是and,or,not ,而C语言中则是&&,||,!

六、

Python中通过缩进来表示语句体,C语言通过{}来表示语句体,并且在Python中每一条语句结尾后没有分号,判断语句if else,这两者没有区别,循环语句while也没有,只是for循环,Python通过for in来表示。

七、

Python有很多内置函数(build in function),不需要写头文件,Python还有很多强大的模块,需要时导入便可。C语言在这一点上远不及Python,大多时候都需要自己手动实现。

八、

C语言中的函数,有着严格的顺序限制,如果要调用函数,该函数需要在本次调用之前就需要被实现,或者在程序开头事先声明,而Python中则没有这个限制,Python中还有高阶函数这一概念,即函数名也可当作函数参数,函数名也是一种变量,指向内存中的某个函数,这种写法可以大大减少代码长度。

python中还提供了可变参数和关键字参数,这样使得函数的功能大大提高,原来需要写多个函数,现在只需要一个函数就可以实现这些功能。

九、

C语言是面向过程的语言,很多时候都需要自己手动实现函数来完成某一功能。Python中引入了类和对象,是面向对象编程的语言,面向对象使得代码的可重用性大大提高,数据的封装性也更好。面向对象与面向过程的具体比较就不多说了,但有两句非常重要的话:类是抽象的,而对象是具体的。

十、

python中既有函数也有方法,常常让人疑惑,我个人觉得也没有必要区分的非常清楚,但是两者还是有较大的区别:函数是自由的,而方法是受限的。在编程的时候需要分清楚调用的是方法还是函数。

总结:Python可以说是非常`简单`的语言,高度集成,代码量少,简单是相对其他语言而言。但编程从来都不是一个简单活,需要我们不断学习,掌握底层实现原理,才是正道。

c和python区别_C语言和python的区别相关推荐

  1. r语言和python的区别_c语言和python的区别

    c语言和python的区别 1.语言类型不同. Python是一种动态类型语言,又是强类型语言.它们确定一个变量的类型是在您第一次给它赋值的时候.C 是静态类型语言,一种在编译期间就确定数据类型的语言 ...

  2. c语言和python不同_c语言和python的区别是什么?

    原标题:c语言和python的区别是什么? python和C语言的区别如下: 1.C语言是编译语言,Python是脚本语言.说是C语言会比Python快 (看了看学校oj最简单的A+B问题,C语言的运 ...

  3. c语言和python实用性_C语言和Python语言,那个更好?

    (3)灵活性 Python语言的最大优点在于它的灵活性,这在测试领域非常重要,因为测试所面临的业务和需求经常在变化,有时它们甚至无法满足并自行决定,而在这时,你可以使用Python丰富的第三方库轻松找 ...

  4. c语言和java的区别_C语言和Java的区别有哪些

    C语言和Java的区别有哪些 作为编程界的两大编程语言-C语言和Java,它们之间有什么不同呢?下面小编给大家整理了C语言和Java的区别,供大家参阅. 1.C语言 C语言是一门通用计算机编程语言,应 ...

  5. python与c语言有什么区别呢_c语言和python之间有什么区别

    Python和C语言都是一种高级编程语言,它们之间有相似之处,也有不少差异.下面本篇文章就来给大家介绍一下c语言和python之间有哪些的区别,希望对大家有所帮助. 1.语言类型 Python是一种基 ...

  6. python语言与c语言java的区别_c语言和java有什么区别

    区别:1.单文件的编译时间java比C语言快:2.C语言可以直接操作内存,java不能直接操作:3.C语言可以封装动态库,java不行:4.C语言有指针,java没有指针:5.C语言可以直接操作串口, ...

  7. c+和python的区别-c语言和python之间有什么区别

    c语言和python的区别是:1.Python是一种面向对象的解释型语言,通过缩进来表示语句体,在Python中每一条语句结尾后没有分号:2.C是一种面向过程的编译型语言,通过"{}&quo ...

  8. python和c语言哪个效率高_C语言和Python哪个更容易学?

    C语言和Python哪个更容易学? 发布时间:2020-06-05 20:46:38 来源:亿速云 阅读:157 C语言和Python哪个更容易学?针对这个问题,今天小编总结这篇有关C语言和Pytho ...

  9. python与c语言的区别-c语言和python之间有什么区别

    c语言和python的区别是:1.Python是一种面向对象的解释型语言,通过缩进来表示语句体,在Python中每一条语句结尾后没有分号:2.C是一种面向过程的编译型语言,通过"{}&quo ...

最新文章

  1. 小米4c手机显示无服务器,小米4c的出现让小米2S用户终于找到换手机的理由! _手机资讯...
  2. 大神建议我们经常阅读AI论文,你却不知道去哪找?最全论文给到你!
  3. 关于Ubuntu的默认python版本
  4. 前端学习(1896)vue之电商管理系统电商系统之修改用户状态
  5. 中软python编码规范考试试题_卓越分享 | 如何写出一手漂亮的Python代码?
  6. 彻底搞懂浏览器Event-loop 1
  7. 使用Addressable更好的管理内存
  8. wordpress函数wp_http_validate_url畸形IP绕过验证SSRF漏洞
  9. 无法安装操作系统,An unexpected error(0) occurred at line 1768 in f:\nt2\base\boot\setup\arcdisp.c....
  10. PHP 可变函数经典用法
  11. 戴尔:未来就绪的IT
  12. UTF-8 encode decode 集合
  13. C语言自学之路十四(详解C语言初阶结构体)
  14. 用JMS578转接板开卡PS3111主控pSLC模式,带固件下载
  15. 13 款免费但好用到哭的项目管理工具
  16. 告别微服务:究竟是千军易得还是一将难求
  17. 【面经】五面阿里巴巴达摩院
  18. 登录显示服务器端校验不通过,SMTP服务器需要安全连接或客户端未通过身份验证。服务器响应是:5.7.57 SMTP;...
  19. Web3的先锋兵:虚拟人
  20. 鲁宾逊非标准微积分与国内高等数学“秀肌肉”

热门文章

  1. LeetCode 1021:Remove Outermost Parentheses
  2. 4514: [Sdoi2016]数字配对
  3. 【php】 PHP 支持 9 种原始数据类型
  4. JS学习梳理(三)类型和语法
  5. C#内置函数 RunSql的使用
  6. 7个华丽的基于Canvas的HTML5动画
  7. Android(java)学习笔记96:layout_weight使用注意事项
  8. Xt800、DEFY自带号码归属地更新包,更新至2013.4【数据总数278360条】
  9. indows上的android开发环境软件架构5
  10. 访问级别约束0906