我们都知道Python底层是用C语言实现的,但是切忌用C语言的思维去编写Python。对于之前有其他编程语言基础的程序员尤为重要。接下来我们简单的从语法角度对Python和C对比分析。
“缩进”与“{}”
Python有严格的代码缩进方式分隔代码块,它们直接关乎代码语法逻辑。比如一下代码:
nL=int(input('行数')) for star in range(0,nL): print ('****') print('----')
结果为:
行数3 **** ---- **** ---- **** ----若将最后print('----')缩进与for循环一致,则结果为:
行数3 **** **** **** ----
由此看来,缩进对于Python是何其重要,针对这个特点曾引起不少争议,强制代码缩进就像一把双刃剑,有利有弊。特别是曾学过其他编程语言的程序员来说还是需要一段时间适应。但是,严格限制缩进使得代码更加规范、整齐,可读性更强。
2. '与"
Python中单引号(')和双引号(")没有明显区别,但是C语言中,单引号代表一个字符,双引号则代表一个字符串。
3. 三元操作符“?:”
三元操作符“?:”其实是if...else的简写方式,语法形式为C?X:Y,C条件为真是取X,假时取Y。很简洁对吧,但是在Python中并不支持三元操作符。不过人们建立了等价的形式 X if C else Y,代码如下:
x=0 y=-2 print( x if x<y else y)
结果如下:
>>> -2
以上只是简单列举几个Python和C的不同,其实差异远远不止这些。总之,学习Python就是运行北冥神功,一共分两步:一是吸收异种功力,二是化解吸收功力。舍弃自我风格代码,遵循Python编码规范。
最后祝大家学习Python愉快。
参考文献:《编写高质量代码:改善Python程序的91个建议》