学Python——第十二课 无参数无返回值自定义函数、局部变量和全局变量

一、无参数无返回值自定义函数:

例:

说明:尽管没有参数,小括号()也不可以省略。定义行一定要冒号“:”结束。 函数体内语句一定要与定义行有落差。

二、变量的作用域

    所谓“作用域”就是作用范围,在Python中就是在哪一块代码中才能访问该变量。

程序代码:

程序运行结果:

上图中,函数体内的变量var2不能在函数体外被访问,可见变量的作用域是aFun函数体内,var2是局部变量。var1没在函数体内,可以被访问,是全局变量。

     当局部变量和全局变量名称相同时,会是什么情况呢?

程序代码:

运行结果:

可见,局部变量与全局变量的名称相同,是允许的,但改变局部变量的值不影响全局变量的值,说明尽管两个变量的名称相同,但由于作用域不相同,其实是两个毫不相干的变量。

      在函数体内能否访问函数体外的全局变量呢?

程序代码:

运行结果:

可见,函数体内是可以访问全局变量的,也就是说,全局变量可以在整编代码中被访问。

    在函数体内能否定义全局变量呢?

程序代码1:

代码1运行结果:

程序代码2:

代码2运行结果:

可见,函数体内定义全局变量,只有在函数执行时才被定义。定义的方法与函数体外不一样,首先要用关键词global跟着变量名称定义,然后才能赋值,定义和赋值一起是非法的。