Python3学习笔记 | 十一、Python的语句与语法-语句简介
- 2019 年 10 月 7 日
- 筆記
一、Python的语句

二、Python语句的格式
1、语句的开头
在Python里是不使用{}或者别的符号来限制语句的开始和结尾的。一个语句的开始(除了复合语句),就是开头,换行就是结束。在开头,不能随意增加空格:
>>> print('DoraEmon') DoraEmon >>> print('DoraEmon') File "<stdin>", line 1 print('DoraEmon') ^ IndentationError: unexpected indent
第二次print前面是多了一个空格,这样的话,也会报错。 在Python里,一个语句的开始,是严格控制的。不能有多余的空格。
2、语句的对齐
关于严格控制,在复合语句里也是同样的。当你使用缩进时,必须一致:
>>> def myprint(str): ... output = str ... print(output) File "<stdin>", line 3 print(output) ^ IndentationError: unindent does not match any outer indentation level
我们会发现缩进不对齐,也会发生错误。
3、复合语句
复合语句,有单行写法和多行写法。从冒号后面就是复合语句的开始 单行:复合语句里只有一行时,可使用单行写法:
>>> if 1 > 0 : print(1) ... 1
但是,复合语句所包涵的语句不是单行时,需要使用对其的缩进来表示复合语句:
>>> if 1 > 0 : ... output = 1 ... print(output) ... 1
4、语句的结束
一般语句里,一行的结束就是此语句的结束。在简单语句(比如赋值,打印等)可以使用分号(;)来隔开多个语句。
>>> a = 'Dora';b = 'Emon';print(a+b) DoraEmon
使用列表,元组,字典的时候,按照一定的方式可以把一个语句分成多行:
>>> dict = {1:'first', ... 2:'Second'}
每一个对象,符号之间可以有多个空格或者换行,但是不能把一个对象分成两行。 复合语句的结束:在脚本里是缩进的结束,在交互模式下,还需要一个空行。
>>> if 1>0:print(1) ... 1
三、Python的缩进
在Python里,复合语句是使用严格的缩进对齐来表示同一层次。 缩进可使用1个以上的空格或者制表符(tab),具体数量没有严格限制,但必须对齐。
>>> if 1 > 0 : ... print(1) ... 1 >>> if 1 > 0 : ... print(1) ... 1
在多层嵌套时,一定要注意缩进。
>>> for i in range(1,7): ... if i > 3 : ... if i < 5 : ... print(i) ... else : ... print('NULL') ... NULL NULL NULL4
四、对用户输入数据的判断
在Python里,有input的方法,可以读取用户数据。但是我们不能限制用户输入的数据是纯文本或者纯数字。这个时候我们可以使用判断语句来进行测试,输入错误就让用户重新输入。
>>> while True: ... _input = input("Please input number:") ... if _input.isdigit(): ... print("{:d} * 10 is {:d}".format(int(_input),int(_input)*10)) ... break ... else: ... print("{} is not a number".format(_input)) ... Please input number:11 * 10 is 10
关于input函数的使用可以参考http://www.runoob.com/python/python-func-input.html
五、处理异常
当我们所写的语句有bug,会出现一些错误,程序会中断运行。但我们在这个时候,不想让程序中断但还是需要提示错误的时候可以使用try:
>>> while True: ... _input = input("Please input digit:") ... try: ... print("{:d} * 10 is {:d}".format(int(_input),int(_input)*10)) ... break ... except: ... print("{} is not a number".format(_input)) ... Please input digit:e e is not a number Please input digit:33 * 10 is 30
关于Python异常的处理可以参考http://www.runoob.com/python/python-exceptions.html