Python初学(十五)

这章说说变量的作用域和代码的复用

变量的作用域

根据程序中变量所在的位置和作用范围,变量分为局部变量和全局变量。

局部变量仅在函数内部,且作用域也在函数内部,全局变量的作用域是从程序开始到程序结束。

局部变量:

局部变量指在函数内部使用的变量,仅在函数内部有效,当函数退出时变量将不在存在。

Python初学(十五)_第1张图片
变量z是函数multiply()内部使用的变量,当函数调用后,变量z将不存在

全局变量:

全局变量指在函数之外定义的变量,在程序执行全过程有效。全局变量在函数内部使用时,需要提前使用保留字global声明,语法形式如下:

                        global<全局变量>

Python初学(十五)_第2张图片
变量n为全局变量,在函数multiply()中使用时需要在函数内部使用global声明,定义后即可使用

如果未使用保留字global申明,即使名称相同,也不是全局变量。

Python初学(十五)_第3张图片
我是就感觉这点不好,还要用个保留字来声明

代码复用:

函数是程序的一种基本抽象方式,它将一系列代码组织起来通过命名供其他程序使用。

函数封装的直接好处是代码复用,任何其他代码只要输入参数即可调用函数,从而避免相同功能代码在被调用处重复编写。代码复用产生了另一个好处,当更新函数功能时,所有被调用处的功能都被更新。

模块化设计指通过函数的封装功能将程序划分成主程序、子程序和子程序间关系的表达。模块化设计是使用函数设计程序的思考方法,以功能块为基本单位,一般有两个基本要求:

    紧耦合:尽可能合理划分功能块,功能块内部耦合紧密;
    松耦合:模块间关系尽可能简单,功能块之间耦合度低。

耦合性指程序结构中各模块之间相互关联的成都,它取决于各模块间接口的复杂程度和调用方式。

紧耦合指模块或系统间关系紧密,存在较多或复杂的相互调用。紧耦合的缺点在于更新一个模块可能导致其他模块变化,复用较困难。

松耦合一般基于消息或协议实现,系统间交互简单。使用函数只是模块化设计的必要非充分条件,根据计算需求合理划分函数十分重要。一般来说,完成特定功能或被经常复用的一组语句应该采用函数来封装,并尽可能减少函数间参数和返回值的数量

以上就是本文的内容了。函数和代码复用到这里基本就算是完了,下章就要讲解别的内容了,如果有不明白的可以在下面评论。

Python 学习的基础(持续更新中......)

你可能感兴趣的:(Python初学(十五))