六、函数

一、定义函数

def 关键字 表示定义一个函数。

1
2
3
# 定义函数
def 函数名(参数):
函数体

当需要调用定义的函数时,使用 函数名() 来调用。(先定义,后调用)

二、函数的返回值

::: tip

1.函数的返回值 return 语句不是必须的,但是如果没有return,函数就没有返回值

2.函数中,可以出现多个 return ,但必须位于不同的分支,否则后面的 return 无效

:::

函数要返回结果,就必须要使用 return 关键字,后面加上返回的结果对象

1
2
3
4
5
def squarep(num1,num2):
return num1**2 + num2**2

ret = squarep(1, 2)
print(ret) # 5
1
2
3
4
5
6
def jueduizhi(a):
if a>=0:
return a
else:
return -a
print(jueduizhi(6)) # 6

三、函数的参数

函数定义时的参数叫做 形参 ,函数调用时的参数叫做 实参

函数的在调用时,当前面的参数使用完整写法时,后面的参数也必须使用完整写法,否则报错。

1
2
3
4
5
6
7
8
9
def sumdata(a,b): 
return a+b

# 正确写法
print(sumdata(a=34,b=56)) #实参的完整写法,当使用完整写法时,参数的顺序可以进行调换
print(sumdata(34,b=56)) #前面用简写,后面用完整写法

# 错误写法
print(sumdata(a=34,56)) #错误的写法:前面用完整写法,后面用简写

使用 *args 表示可变长度参数,可以写任意个。

使用 **keargs 表示关键字参数,它是一个字典 可以写任意个。

1
2
3
4
def fun5(a,*args,**kwargs):
return a,args,kwargs

print(fun5(100,22,33,79,qq=98)) # (100, (22, 33, 79), {'qq': 98})

函数的 缺省值,当用户 未输入 缺省值时,作为默认值使用;当用户 输入 了该值,则以用户输入为准。

函数的参数定义,一旦有缺省值后,后面所有的参数必须都有缺省值。

1
2
3
4
5
def sumdata(a,b,c=100):
return a+b+c

print(sumdata(10,20,c=1)) # 31
print(sumdata(10,20)) # 130

四、局部变量与全局变量

局部变量:定义在函数体内,只在该函数内部有作用。

全局变量:定义在函数体外,作用于整个模块文件。

使用 global 可以将局部变量变为全局变量。

1
2
3
4
5
6
7
upChars = '零壹贰叁肆伍陆柒捌玖'

def getZh(num):
global upChars = '零一二三四五六七八九'
print('对应的汉字是:' + upChars[num])

getZh(5)

五、常见 内置函数

内置函数可以在Python的官方文档查看到,点击这里查看官方文档,。