前言
为什么我想写这篇文章,因为我发现自己有时候Python的代码写的太多了,回过头来发现自己忘记了很多C/C++的语法和代码。 于是想通过这篇文章来给各位以及我自己重新温习一下它们的不同与相同之处。 此文章会持续更新
文章说明:前者代码块为C/C++的代码,后者是Python的代码
变量以及基础
int a;
char b;
double d;
float e;
string f;
a=0
b="hello,world"
c=0.1
d=[]
e={}
f=set()
C/C++字符(char)变量中''和""代表的意思不一样,前者代表字符,后者代表字符串。
Python没有char类型,所以''和""代表的都是字符串
C/C++有完善的switch语句用于逻辑判断
Python在3.10版本之前没有switch语句
C/C++用花括号{}分隔每个代码块,无严格缩进要求
Python以缩进分隔每个代码块,有严格的缩进要求
C/C++不能使用右边这样的赋值方式 int a=b=c=d=e=f=1;
Python可以将所有相同类型的变量以上面的方式同时赋值 a=b=c=d=e=f=1
C/C++不能使用右边的赋值方式 int a,b=1,2; 但是可以 int a,b=1;
Python可以使用上述赋值方式 a,b=1,2,但不能使用 a,b=1
深拷贝,浅拷贝这些内容请自行查询,由于篇幅原因此处省略
if判断语句
int a=0;
if(a<=0)
{
printf("True");
}
else if (a==1)
{
printf("a=1");
}
else
{
printf("False");
}
a=0
if a==0:
print("True")
elif a==1:
print("a=1")
else:
print("False")
Python与C/C++都可使用以下的判断方式,但为了代码可维护性,不建议这样编写
C/C++示例
int a=1;
if (a==1 && 0x01) { //与if (a==1 && a==0x01)同理
cout << "True" << endl;
}
Python示例
a=1
if a==1 and 0x01: # 与if a==1 and a==0x01同理
print("True")
for循环语句
for(int x=0; x < 100; x++)
int x;
for(x=0; x < 100; x++)
int x=0;
for( ; x<100; x++)
for(x; ; x++)
for(x; x<100; ;)
a=[1,2,3,4]
b={"key1":"value1","key2":"value2"}
for x in range(123):
for x in range(len(a)):
for x in range(14,125):
for x in (a, b):
list_data=[x for x in range(123)]
list_data=[]
for x in range(123):
list_data.append(x)
list_data=[x for x in a]
list_data=[]
for x in a:
list_data.append(x)
list_data=[x for x in range(256) if x%2!=0]
list_data=[]
for x in range(256):
if x%2!=0:
list_data.append(x)
C,C++,Python这三个编程语言的for循环语句都可以写的非常刁钻,以实现编程即混淆(doge)
while循环语句
在While循环中,其实这两者的区别可以说是基本没有,除了上面说到过的缩进和结尾的冒号
只不过Python截至目前并没有do...while语句的这样的写法
|