python与C的区别如下:
1、语言类型不同
Python是一种动态类型语言,又是强类型语言。它们确定一个变量的类型是在您第一次给它赋值的时候。C 是静态类型语言,一种在编译期间就确定数据类型的语言。大多数静态类型语言是通过要求在使用任一变量之前声明其数据类型来保证这一点的。
2、对象机制不同
Python中所有的数据,都是由对象或者对象之间的关系表示的,函数是对象,字符串是对象,每个东西都是对象的概念。每一个对象都有三种属性: 实体,类型和值。
C中没有对象这个概念,只有“数据的表示”,比如说,如果有两个int变量a和b,想比较大小,可以用a == b来判断,但是如果是两个字符串变量a和b,就不得不用strcmp来比较了,因为此时,a和b本质上是指向字符串的指针,如果直接用==比较, 那比较的实际是指针中存储的值地址。
3、变量类型不同
python六个标准的数据类型:Number数字、String字符串、List列表、Tuple元祖、Sets集合、Dictionary字典,数字类型有四种类型:整数、布尔型、浮点数和复数。C语言也可分四类:基本类型、枚举类型、void的类型、派生类型。基本类型:整数类型、浮点类型。
4、函数库的使用方法不同
在C语言中使用那个库函数,需要引入头文件用include引入,而在python中需要引入别的模块或者函数时需要用import引入。
两者的不同机制是C语言中include是告诉预处理器,这个include指定的文件的内容,要当作本地源文件出现过,而python中的import可以通过简单的import 导入,或者是 import numpy as np 。
5、全局变量不同
在C语言中,声明全局变量,如果值是恒定的,那么可以直接用#define声明,如果只是声明全局,并且变量的值是可变的,那么直接类似int a 就可以了。
在python中,声明全局变量时,需要加上global,类似global a,在函数里面使用的时候需要先声明global a ,否则直接用a那么python会重新创建一个新的本地对象并将新的值赋值给他,原来的全局变量的值并不变化。
原文来自:https://www.py.cn
暂无评论内容