2022年 11月 5日

浅析C语言和Python(1)

主题:此篇文章我们主要浅浅的刨析一下C语言和Python的不同

引言:对于已经学过C语言的朋友们大概在心中都有过这样的疑惑:为什么老师和书上都说C语言很厉害很严谨,但为什么在实际操作和对于新型的APP和设计来说都是Python和Java在做领头羊?

正文:在学习C语言的时候大家都有接触到一个函数那就是printf这是一个输出类型的函数,能够实现很多输出方面的功能;而在Python中我们也存在着这样一个输出函数:print;一眼望去两者似乎没什么不同,但是细细来看会发下很多的不一样。

1、比较Python中print和C语言中printf的不同。

(1)printf函数中在输出的时候的具体样式是比较固定的例如:

  1. printf("hello word!");
  2. printf("%d",num);

(大家请特别注意C语言是一门严谨的语言这一点尤其体现在他对于标点的使用上这个句式中的双引号和句末的分号都是这个语句中不可或缺的存在)

我们反观Python语句的例子:

  1. print('hello word!')
  2. print(num)

大家可以清楚的看到两个例句的不同之处:首先Python句末没有使用分号;其次在第二个例子里面大家可以看见我输出了一个变量,C语言任然保留着自己的格式没有改变(句末的分号;printf括号里面的双引号)但是如果我们仔细观察就可以发现Python在第二个例子中没有引号的使用,这就是我们进场说的为什么Python作为后来开发的语言可以有属于他的优势:Python跟C语言相比他并没有那些复杂的格式,相反你可以不用去操心他的格式因为在Pytthon中对于变量的类型都是根据你所存放的值进行改变和定义的。

2、针对于浮点数运算中Python和C语言的不同进行分析

请大家先看C语言的例子:

  1. #include(stdio.h)
  2. #include(stdlib.h) //暂停函数存在的库
  3. void main()
  4. {
  5. float p1,p2,num;
  6. p1=1.1;
  7. p2=2.2;
  8. num=p1+p2;
  9. printf("%f",num); //易错书写
  10. printf("%.1f,num); //正确书写
  11. system("pause"); //暂停看结果
  12. }

在这当中我们定义了三个变量但是真正输出的只有一个变量:num 而我们得到的结果分别是:易错书写:3.300000  正确书写:3.3(大家如果有条件的可以去试一试结果哈,还是很有趣的)大家看到的易错结果和正确结果不同的原因是我们定义的变量都是float类型,也就是我们常说的浮点数类型中的之一,他最多可以显示后6位小数,在正确结果中我们使用了保留小数的方法具体而言就是在占位符中间加上点和想要保留的位数,当然不能超过定义的字长(例如:%.3f;%.4f)

我们再看Python的例子:

  1. p1=1.1
  2. p2=2.2
  3. num=p1+p2
  4. print(num) #易错书写
  5. from decimal import Decimal
  6. print(Decimal('1.1')+Decimal('2.2')) #正确书写

大家可以看到我写了两个书写方式,当然答案也是各有千秋:易错书写的答案是:3.3000000000000003   正确书写的答案是:3.3 这里答案不同的原因有点复杂,在第一次的讨论中我们不做过多深究,大家有兴趣可以自己下去找一找原因,但是大家可以清楚的看到我们在写Python运算语句的时候用到了函数,在这方面来说Python对于函数的掌握以及应用是要比C语言严格的。

总结:

1:C语言在格式和比较细致的地方要比Python要求的严谨,必须一字一句地按照模板进行书写。 2:在进行浮点型运算的时候Python对于函数在运用和的要求要比C语言严格,C语言因为对于自身语句格式严谨的原因在这种类型的运算中可以用较少的函数和类型完成操作。

对于初学者来说C语言和Python都是很好的入门课程,但还是可以按照自己的习惯和想法进行选择。