python与C/C++的区别与不同

  • 前言,一些感触
  • 区别与不同
  • ①语言类型
  • ②基本语法
  • 1. 标识符
  • 2. 分号;
  • 3. 花括号{ }
  • 4. 引号`' ' , '' '' ,''' '''`
  • 5. 注释 `# ''' '''`
  • 6. `换行和缩进`来表示python的代码块/组的范围,而不是{ }


前言,一些感触

python真的挺简单的,对于我这种C/C++熟练的人群,学习了python已经是第7天了,因为很多原因,博客中没能每天进行更新,在此期间,我把很多东西都写在了本子上,我已经学习到了python的GUI编程了,今天这里更新一篇博客,主要说一下python基础部分和C/C++的区别与不同

区别与不同

①语言类型

C/C++为编译型语言,每次运行都需要编译,如果编译没有问题的话,运行很少会出现问题,出现问题的话一般为逻辑的问题
python为解释型语言,写完代码之后,不需要编译,可直接运行,它是一行一行的解释,也就是一边解释一边运行的,解释一行代码运行一行代码,刚开始学,发现运行着运行着就报错了
可以这样比喻,可以想象一个场景,一个中国人Jock,需要阅读一篇英文文章,可它完全不会英文,读懂这篇文章,肯定需要一个翻译才行,而C/C++的翻译是编译器,python的翻译是解释器
编译器的工作是把一整篇文章全部拿过来,一整篇进行翻译,全部翻译完了之后给Jock看
解释器的工作是把一整篇文章全部拿过来,看完一行就解释给Jock听,这是什么意思,让后继续下一行,直到全部翻译完一整篇文章
这就是为什么编译型的语言运行速度比解释型语言快的原因

②基本语法

1. 标识符

python的一些标识符是有特殊意义的,普通的变量应当避免这种命名风格
1.1 在类中,以单下划线开头的(_foo)代表类的保护成员;

1.2 以双下划线开头的(__foo)代表类的私有成员;
以双下划线开头和结尾的(foo)代表python里特殊方法专用的标识,如 init()代表类的构造函数

2. 分号;

这个对于C/C++来说太重要了,一个分号结尾;代表一条语句的结束

int i=0;
int sum =0;
for(i=1; i<=100; i++)
{
	sum+=i;
}

而对于python来说,分号;的作用只不过是可以在同一行中显示多条语句而已
python一条语句的结束是用换行和缩进来决定的

i=1;j=2;k=3
result = 0
#逐个获取从 1 到 100 这些值,并做累加操作
for i in range(101):
    result += i
print(result)

上面代码中,使用了 range() 函数,此函数是 Python 内置函数,用于生成一系列连续整数,多用于 for 循环中
//python与其它语言最大的区别就是,

3. 花括号{ }

对于C/C++,java来说,{花括号} 的作用太大了,每个模块(函数)都需要用到花括号来限制,表示这个模块(函数)的范围大小到哪里结束

在这里插入代码片

python中花括号最常用到字典中, 换行和缩进来确定模块(函数)的范围大小

d = {key1:value, key2:value, ......}
#自定义 len() 函数
def my_len(str):
    length = 0
    for c in str:
       length = length + 1
    return length
#调用自定义的 my_len() 函数
length = my_len("http://python/")
print(length)

4. 引号' ' , '' '' ,''' '''

C/C++中采用双引号" "来表示字符串
C/C++中采用单引号' ' , 双引号'' '' ,三引号''' '''来表示字符串, 一般采用单引号或者双引号表示字符串,不采用三引号,一是为了简单,二是为了避免混淆,因为三引号可以用于注释

5. 注释 # ''' '''

C/C++中采用//来实现单行注释,采用/* */来实现多行注释

//C/C++单行注释

/*
C/C++多行注释
*/

python中采用#来实现单行注释,采用三个单引号''' ''', 三个双引号""" """来实现多行注释

#python单行注释
""" 
采用三个单引号 
实现多行注释
"""

'''  
采用三个双引号
实现多行注释 
'''

6. 换行和缩进来表示python的代码块/组的范围,而不是{ }

Python语言简洁体现在使用缩进来表示代码块,相同的缩进表示同一个代码块,比如函数的代码块,while循环中的代码块,for循环中的代码块,而不像C/C++或Java中使用{}
C/C++中

int i=0;
int sum=0;
while(1)
{
	if(i==100) break;
	sum+=i;
	i++;
}
printf("sum:%d", sum);

python中

i=0
sum=0
while 1:
	if i==100:
		break
	sum+=i
	i++
print("sum:"), sum

待续…,持续更新中