Python3学习笔记 | 十一、Python的语句与语法-语句简介

一、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


原文发布于微信公众号 - TeamsSix(OldCat0111)

原文发表时间:2019-02-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券