建议3---理解Python与C语言的不同之处

python

  我们都知道,Python的底层是用C语言实现的,但切忌用C语言的思维和风格来编写Python代码。Python与其他语言有很多不同,以下来进行简单的分析:

  (1)"缩进"与“{}”

    与C,C++,Java等语言使用花括号{}来分割代码段不同,Python中使用的代码缩进方式分割代码块。

  (2)‘与“

    C语言中单引号(\')与双引号(")有严格的区别,单引号代表一个字符,它实际对应于编译器所采用的的字符集中的一个整数值。例如在ASCII中,\'a\'与数字97相对应。而双引号则表示字符串,默认以\'\0\'结尾。

  但在python中,单引号和双引号没有明显区别,仅仅在输入字符串内容不同时,在使用上存在微小差异。

>>> string1 = "He said ,\"Hello\" "     #字符串中本身的双引号需要转义

>>> string1

\'He said ,"Hello" \'

>>> string2 = \'He said ,"Hello" \' #字符串本身的双引号不需要转义

>>> string2

\'He said ,"Hello" \'

  (3) 三元操作运算符“?:”

  三元操作符是if...else的简写方法,语法形式为C?X:Y,它表示当条件C位True的时候取值为C,C为False的时候取值为Y。C?X:Y在Python中的等价形式为X if C else Y,即:

  

>>> X = 0

>>> Y = -2

>>> print(X if X<Y else Y)

-2

  (4)switch...case

  Python中没有像C语言那样的switch...case分支语句,不过Python有很多替代的方法。假设C语言实现的seitch...case语句如下:

switch(n){

case 0:

printf("zero.\n");

break;

case1:

printf("one.\n");

break;

case2:

printf("two\n");

break;

default:

printf("others");

break;

}

  与以上C语言中switch...case对应的Python实现如下:

if n ==0 :

print("zero.\n")

elif n==1:

print("one.\n")

elif n==2:

print("two.\n")

else:

print("others")

  或者使用字典来实现:

def f(x):

return {

o : "zero.\n",

1 : "one.\n",

2 : "two.\n"

}.get(n,"others")

以上只是简单的列举了几个Python和其他语言的不同点,事实上,其差异性远不止这些。

 

 

  

 

以上是 建议3---理解Python与C语言的不同之处 的全部内容, 来源链接: utcz.com/z/386504.html

回到顶部