函数

it2024-12-16  14

一、函数的定义及其应用

所谓函数,就是把具有独立功能的代码块组织成为一个小模块,在需要的时候调用 函数的使用包含两个步骤

1,定义函数–封装独立的功能

2.调用函数–享受封装的成果 函数的作用:在开发时,使用函数可以提高编写的效率以及代码的重用‘’ 函数: 函数是带名字的代码块,用于完成具体的工作 需要在程序中多次执行同一项任务时,你无需反复编写完成该任务的代码,而只需调用该 任 务的函数,让python运行其中的代码,你将发现,通过使用函数,程序编写,阅读,测试 和 修复都将更容易 1.定义函数 def 函数名(): 函数封装的代码 1.def是英文define的缩写 2.函数名称应该能够表达函数封装代码的功能,方便后续的调用 3.函数名称的命名应该符合标识符的命名规则 可由字母,下划线和数字组成 不能以数字开头 不能与关键字重名

2.函数的分类 |-- 有无参数 |-- 有参函数 |-- 无参函数 |-- 是否存在返回值 |-- 有返回值的函数 |-- 无返回值的函数 |-- 定义者 |-- 系统函数 |-- 第三方函数 |-- 自定义的

二,局部和全局作用域

全局作用域中的代码不能使用任何局部变量;但是,局部作用域可以访问全局变量;一个函数的局部作用域中的代码,不能使用其他局部作用域中的变量。如果在不同的作用域中,你可以用相同的名字命名不同的变量。也就是说,可以有一个名为 spam 的局部变量,和一个名为 spam 的全局变量。

三, 函数调用过程

函数在python中本质是一个对象,函数的调用叫做压栈(push),调用完成后函数就需要立刻出栈(pop)

四,引用传递和值传递

值传递(passl-by-value)过程中,被调函数的形式参数作为被调函数的局部变量处理,即在堆栈中开辟了内存空间以存放由主调函数放进来的实参的值,从而成为了实参的一个副本。值传递的特点是被调函数对形式参数的任何操作都是作为局部变量进行,不会影响主调函数的实参变量的值。(被调函数新开辟内存空间存放的是实参的副本值) 引用传递(pass-by-reference)过程中,被调函数的形式参数虽然也作为局部变量在堆栈中开辟了内存空间,但是这时存放的是由主调函数放进来的实参变量的地址。被调函数对形参的任何操作都被处理成间接寻址,即通过堆栈中存放的地址访问主调函数中的实参变量。正因为如此,被调函数对形参做的任何操作都影响了主调函数中的实参变量。(被调函数新开辟内存空间存放的是实参的地址)

最新回复(0)