目录
证书
为确保该篇文章内容的可靠性,先在此附上本人的二级Python语言程序设计证书加以证实。
④函数和代码复用
1. 函数的定义和使用。
(1) 定义:
def <函数名>(<参数名>): <函数体> return <返回值名> |
def plus(a,b): c=a+b return c |
(2) 使用:主要目的包括降低编程难度与增加代码复用。
<函数名>(<实际赋值参数>) |
>>> plus(2,2) |
2. 函数的参数传递:
(1) 可选参数传递:
def <函数名>(<非可选参数名>,<可选参数名>=<默认值>): <函数体> return <返回值名> | |
>>> def plus(a,b): c=a+b return c >>> plus(2,4) 6 >>> plus(4,6) 10 |
>>> def minus(a,b=4): c=a-b return c >>> minus(2) -2 >>> minus(4,6) -2 |
(2) 参数名称传递:
<函数名>(<参数名>=<实际赋值参数>) | |
>>> plus(a=2,b=6) 8 |
>>> minus(a=2,b=6) -4 |
(3) 函数的返回值:使用保留字return表示函数的返回值,当没有该值时,则默认返回None值。
>>> def plus(a,b): c=a+b return >>> plus(2,4) |
>>> def plus(a,b): c=a+b return c >>> plus(2,4) 6 |
3. 变量的作用域:
(1) 局部变量:指在函数内定义的变量,并且作用域为局部范围。
>>> def plus(a,b): c=a+b #该c为局部变量。 return c >>> plus(2,4) 6 >>> print(c) NameError: name 'c' is not defined |
(2) 全局变量:指在函数外定义的变量,并且作用域为全局范围。
>>> c=8 #该c为全局变量。 >>> def plus(a,b): return a+b+c >>> plus(4,6) 18 |
注:当需要在函数内对函数外定义的变量进行赋值时,使用保留字global进行声明。
>>> list=[2,4,6,8] >>> str="珍珠奶茶" >>> def test(): list=[1,3,7,9] str="黑糖奶茶" print(list,str) >>> test() [1, 3, 7, 9] 黑糖奶茶 >>> list,str ([2, 4, 6, 8], '珍珠奶茶') |
>>> list=[2,4,6,8] >>> str="珍珠奶茶" >>> def test(): global list,str list=[1,3,7,9] str="黑糖奶茶" print(list,str) >>> test() [1, 3, 7, 9] 黑糖奶茶 >>> list,str ([1, 3, 7, 9], '黑糖奶茶') |
4. 函数递归的定义和使用。
(1) 定义:在函数体内直接或间接使用该函数本身。
>>> def multiply(n): if n==1: return 1 return n*multiply(n-1) |
(2) 使用:
>>> multiply(4) #获取4的阶乘。 24 >>> multiply(6) #获取6的阶乘。 720 |