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

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

  1. python和c语言哪个实用-c语言和python语言哪个更值得学?

    要想在测试行业有一席之地,只会一种语言是万万不能的. 不管是开发,还是软件测试工程师都有一门属于自己的工作语言. 有的喜欢用Python,有的擅长用Java,有的偏爱于Go,也有人用C语言. Pyth ...

  2. python和c语言相通吗_C语言和Python有什么区别呢?

    展开全部 python与C的区别如下. 1.语言类型不同. Python是一种动态类型语言,又是强类型语言.它们确定一个变量的类型是在e69da5e887aa323131333532363134313 ...

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

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

  4. python与c语言在语法上的区别-c语言和python之间有什么区别

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

  5. python与c语言在语法上的区别-C语言和Python编程先学习哪个

    原标题:C语言和Python编程先学习哪个 初学者,Python和C语言先学哪个好? 就像是"先有鸡还是先有蛋一样",先学python还是先学C语言,这也是个世纪难题. 这种纠结并 ...

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

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

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

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

  8. go语言和python有什么区别_go语言和python有什么区别?

    区别:1.Python是一种基于面向对象编程的多范式,命令式和函数式编程语言:Go是一种基于并发编程范式的过程编程语言.2.Python是动态类型语言,Go是静态类型语言.3.Python没有提供内置 ...

  9. go语言和python的区别_go语言和python的区别是什么?

    什么是Python? Python是一种功能强大的高级编程语言,主要用于科学和工程计算.它是一种高效的语言,优雅务实,简单而强大,适合新手和专业人士的编程. Python支持多种编程范例,并提出了一个 ...

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

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

最新文章

  1. OCR识别-python版(一)
  2. java单例模式的应用_java单例模式的简单应用例子
  3. hp-ux锁定用户密码_UX设计101:用户研究-入门需要了解的一切
  4. jdk170不支持注释_JDK 9 @不建议使用的注释增强功能
  5. 发纸牌c语言指针,算了算学了有一个月c语言了,写了个扑克牌程序
  6. git rebase用法_Git:Clone别人的代码之后push到自己码云上失败的解决办法
  7. QQ浏览器如何添加并进入书签地址?QQ浏览器添加并进入书签地址的方法
  8. Matlab:dicomread读取dicom文件函数
  9. matlab实现prim算法,Prim算法和Kruskal算法的Matlab实现
  10. 双十一 马云的淘宝如何通过数据分析得到利润?
  11. ubuntu-12.04.5-desktop-amd64.iso:ubuntu-12.04.5-desktop-amd64:安装Oracle11gR2
  12. linux服务器数据备份到本地硬盘_如何备份硬盘数据,最简单的方法是什么?
  13. webpack + vue 学习看过的文章 网址
  14. 2.3 The 10-armed Testbed 10摇臂老虎机试验台
  15. 阿拉伯数字转人民币大写
  16. 如何快速将CAD图纸转换成PDF文件?
  17. HTML5 新特性: Web Worker 的创建与使用(webpack + TS 环境)
  18. 土方计算过程(方格网法)
  19. Java中Map详解
  20. Android网络编程基础(第一弹)

热门文章

  1. 巧妇难为无米之炊 走出软件测试的困境
  2. sift算法的主要步骤
  3. 关于nginx unit服务非正常关闭后,无法重新启动问题的处理
  4. 一、TCL事务控制语言 二、MySQL中的约束 三、多表查询(重点) 四、用户的创建和授权 五、MySQL中的索引...
  5. ECMAScript 6 + Babel
  6. angular --开发环境搭建及项目创建
  7. 使用webstorm操作git
  8. python __globals__, __file__
  9. HDU 5898 odd-even number
  10. linux shell 之 crontab(定时任务)详解