Python与其他语言略有不同:
一个语句与一个函数、一个循环的关系:
Python中的函数是开放的,与C、C++等语言不同
Python定义函数的方式是:
def function(参数名):
code...
C、C++等定义函数的方式是:
函数返回值类型 函数名(参数类型1 参数名1, 参数类型2 参数名2 , .....){ 函数体}
主要的不同在与C、C++的函数体是有大括号{ },标识了函数体的范围,函数体内部的对齐方式不起作用
但是Python不同,Python是根据语句的对齐方式,来判断语句是否属于函数内部,是否属于循环体
例如:
这个是函数draw_square(some_turtle)的定义,for的缩进表示for循环体为函数内部的,即使写为如下格式:
在for语句前有换行,也同样表示for循环体为draw_square函数的函数体,是正确的。
但是一旦for语句前的缩进没有了,与函数对齐了,便表示for循环体不再属于函数draw_square,如下所示:
同样在for循环体内,语句间有空行也并不会对循环体有影响,
但是一旦原本应该属于循环体内部的语句相互没有对齐,或者与for语句对齐,
都相当于告诉IDLE,该语句不属于循环体,IDLE或许报错,或许将该语句视作循环体外的语句执行,如下所示:
正确的循环体:
错误的循环体(IDLE在执行时会弹出Syntax error窗体),循环体内的语句没有对齐:
错误的循环体
循环体内的第一条(出现Syntax error窗体)或第二条语句与for语句对齐:
·
最后,Python也是通过函数的先定义后调用执行的。