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
待续…,持续更新中