Python是一种计算机编程语言。计算机编程语言和我们日常使用的自然语言有所不同,最大的区别就是,自然语言在不同的语境下有不同的理解,而计算机要根据编程语言执行任务,就必须保证编程语言写出的程序决不能有歧义,所以,任何一种编程语言都有自己的一套语法,编译器或者解释器就是负责把符合语法的程序代码转换成CPU能够执行的机器码,然后执行。Python也不例外。
Python的语法比较简单,采用缩进方式,写出来的代码就像下面的样子:
# print absolute value of an integer:
a = 100
if a >= 0:
print(a)
else:
print(-a)
以#开头的语句是注释,注释是给人看的,可以是任意内容,解释器会忽略掉注释。其他每一行都是一个语句,当语句以冒号:结尾时,缩进的语句视为代码块。
缩进有利有弊。好处是强迫你写出格式化的代码,但没有规定缩进是几个空格还是Tab。按照约定俗成的惯例,应该始终坚持使用4个空格的缩进。
缩进的另一个好处是强迫你写出缩进较少的代码,你会倾向于把一段很长的代码拆分成若干函数,从而得到缩进较少的代码。
缩进的坏处就是“复制-粘贴”功能失效了,这是最坑爹的地方。当你重构代码时,粘贴过去的代码必须重新检查缩进是否正确。此外,IDE很难像格式化Java代码那样格式化Python代码。
最后,请务必注意,Python程序是大小写敏感的,如果写错了大小写,程序会报错。
小结
Python使用缩进来组织代码块,请务必遵守约定俗成的习惯,坚持使用相同的缩进。
在文本编辑器中,确保不混用Tab和空格进行缩进。
例:求圆的面积:
计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。
比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现:
根据Python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做。
也可以给if添加一个else语句,意思是,如果if判断是False,不要执行if的内容,去把else执行了:
注意不要少写了冒号:。
当然上面的判断是很粗略的,完全可以用elif做更细致的判断:
elif是else if的缩写,完全可以有多个elif,所以if语句的完整形式就是:
if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else,所以,请测试并解释为什么下面的程序打印的是teenager:
if判断条件还可以简写,比如写:
只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False。
最后看一个有问题的条件判断。
很多同学会用input()读取用户的输入,这样可以自己输入,但输入数值2010,结果报错:这是因为input()返回的数据类型是str,str不能直接和整数比较,必须先把str转换成整数。
Python提供了int()函数来完成这件事情,再次运行,就可以得到正确地结果。但是,如果输入abc呢?又会得到一个错误信息,原来int()函数发现一个字符串并不是合法的数字时就会报错,程序就退出了。
如何检查并捕获程序运行期的错误呢?后面的错误和调试会讲到。
用if-elif判断并打印结果:
条件判断可以让计算机自己做选择,Python的if...elif...else很灵活。
条件判断从上向下匹配,当满足条件时执行对应的块内语句,后续的elif和else都不再执行。
根据分数定等级: