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