写了函数的定义及调用。这里写参数的传递,及变量的作用域。
先搞个函数。就用计算图形面积来做例子吧。
三角形面积=底×高×1/2
四边形面积=底×高
定义一个计算面积的函数。
例子里底d是2,高g是4,则三角形面积是2×4×1/2=4.
定义面积函数area(),第2行是函数文档,可以省略。第3行是计算三角形的面积,第4行通过return关键字返回值s
第9行代码调用area()函数,并把返回值赋值给s。
局部变量及全局变量
注意,这里的s,和函数内的s,不是同一个,函数内的s,只在函数内存活,当代码跳转后,函数内的s就相当于被删除了。为了不把函数内外的变量混淆,初学者也可用把内外的变量命名成不一样的名字。
函数内的变量s为局部变量,函数外的变量s为全局变量。例如广东省的GDP,和广州市的GDP,虽然都叫GDP,但不是同一个GDP。变量有它自身的作用域。
按参数位置传递参数
s=area(d,g)
就是通过给出的d和g变量的值,来调用area()函数。这里也可以这样:
s=area(2,4)
即通过给出两个参数(2,4),来调用函数,最后返回面积s。这里(2,4)与定义函数时设定的参数相对应(d,g),即将2传递给d,将4传递给g。
即按参数位置传递参数。
这也是初学者最常用,而又容易理解的参数传递。
按关键字传递参数,又名,参数名称传递
笔者喜欢举例子。
例子里的计算面积函数多了一个内容,就是把参数按顺序打印出来。方便咱观察参数值。
第8行和第10行调用函数。把焦点放回到参数传递这里。
第8行参数有一个k=1/2。咱定义函数时使用的d,g,k,是形式参数,咱传递进入去运算的.5,是实际参数。这里用了形式参数的名字指定对应参数的值。
即按关键字传递参数,又名,参数名称传递
如第10行,如果全部按关键字传递参数,则无需考虑先后顺序的问题,直接可以指定对应关键字参数的值。
参数默认值
上例子中,笔者用k的值等于0.5来计算三角形面积,用k的值等于1来计算四边形面积。假如咱默认计算三角形的面积,还可以给参数设置默认值。
如图,默认k=1/2,在调用函数时,k对应参数值,可以输入,如果不传递参数k的值,则会使用默认值1/2。最终结果一样。
python函数参数传递和变量作用域,你get到了吗?
玩着也能学PYTHON京东好评率%无理由退换¥42购买