在Python里是不使用{}或者别的符号来限制语句的开始和结尾的。一个语句的开始(除了复合语句),就是开头,换行就是结束。在开头,不能随意增加空格:
>>> print('DoraEmon')
DoraEmon
>>> print('DoraEmon')
File "<stdin>", line 1
print('DoraEmon')
^
IndentationError: unexpected indent
第二次print前面是多了一个空格,这样的话,也会报错。 在Python里,一个语句的开始,是严格控制的。不能有多余的空格。
关于严格控制,在复合语句里也是同样的。当你使用缩进时,必须一致:
>>> def myprint(str):
... output = str
... print(output)
File "<stdin>", line 3
print(output)
^
IndentationError: unindent does not match any outer indentation level
我们会发现缩进不对齐,也会发生错误。
复合语句,有单行写法和多行写法。从冒号后面就是复合语句的开始 单行:复合语句里只有一行时,可使用单行写法:
>>> if 1 > 0 : print(1)
...
1
但是,复合语句所包涵的语句不是单行时,需要使用对其的缩进来表示复合语句:
>>> if 1 > 0 :
... output = 1
... print(output)
...
1
一般语句里,一行的结束就是此语句的结束。在简单语句(比如赋值,打印等)可以使用分号(;)来隔开多个语句。
>>> a = 'Dora';b = 'Emon';print(a+b)
DoraEmon
使用列表,元组,字典的时候,按照一定的方式可以把一个语句分成多行:
>>> dict = {1:'first',
... 2:'Second'}
每一个对象,符号之间可以有多个空格或者换行,但是不能把一个对象分成两行。 复合语句的结束:在脚本里是缩进的结束,在交互模式下,还需要一个空行。
>>> if 1>0:print(1)
...
1
在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