(一) 函数介绍
1. 函数:是组织好的,可重复使用的,用来实现特定功能的代码段。
eg. len():实现统计长度这一特定功能的代码段。
2. 函数好处:
* 将功能封装在函数内,可随时随地重复利用
* 提高代码的复用性,减少重复代码,提高开发效率
(二) 函数定义
1. 基本语法:
(1) 函数定义
def 函数名 (传入函数):
函数体
return 返回值
(2) 函数调用
函数名(参数)
!参数可省略
!返回值可省略
!函数必须先定义后使用
练习1.:
def hello() :
print("Hello World!")
hello()
练习2:
def max(a, b):
if a > b:
return a
else:
return b
a = 4
b = 5
print(max(a, b))
练习3:
# 计算面积函数
def area(width, height):
return width * height
def print_welcome(name):
print("Welcome", name)
print_welcome("Runoob")
w = 4
h = 5
print("width =", w, " height =", h, " area =", area(w, h))
(三) 函数参数
1. 传入参数的功能:在函数调用时,接受外部提供的数据
!参数之间按顺序传入;使用,进行分隔
练习:
def printWelcome(x):
print("欢迎来到黑马程序员!请出示48小时核酸检测证明!")
if x <= 37.5:
print(f"体温测量中,您的体温是:{x},体温正常,请进!")
else:
print(f"体温测量中,您的体温是{x},需要隔离!")
y = int(input("请输入您的体温:"))
printWelcome(y)
函数调用的实例:调用了 printme() 函数:
# 定义函数
def printme( str ):
# 打印任何传入的字符串
print (str)
return
# 调用函数
printme("我要调用用户自定义函数!")
printme("再次调用同一函数")
(四) 函数返回值
1. 通过return关键字,可向调用者返回数据
2.. None类型:
(1) None,其类型是<class ’NoneType’>
(2) 无返回值的函数,实际上是返回了None这个字面量
(3) 使用:
用于函数返回值中【空】
用于if判断【None等同于False】
用于声明无内容的变量上
(五) 函数说明文档
1. 函数说明文档:对函数进行说明解释,帮助更好地理解函数
2.. 定义语法:
def func(x,y)
"""
函数说明
:param x:参数x的说明
:param x:参数x的说明
:return:返回值的说明
"""
函数体
return 返回值
(六) 函数嵌套使用
1. 函数嵌套:在一个函数中,调用另一个函数。
2. 执行流程:
函数a中执行到调用函数b的语句,会将b全部执行;完成后,继续执行函数a的剩余内容
(七) 变量的作用域
1. 变量作用域:变量的作用范围
2.. 局部变量:定义在函数体内部的变量,只在函数体内部生效
局部变量作用:在函数体内部,临时保存数据,即当函数调用完成后,销毁局部变量
3. 全局变量:在函数体内外都能生效的变量
4. global关键字:可使函数内部声明变量为全局变量
(八)return语句
return [表达式] 语句用于退出函数,选择性地向调用方返回一个表达式。不带参数值的 return 语句返回 None。之前的例子都没有示范如何返回数值,以下实例演示了 return 语句的用法:
# 可写函数说明
def sum( arg1, arg2 ):
# 返回2个参数的和."
total = arg1 + arg2
print ("函数内 : ", total)
return total
# 调用sum函数
total = sum( 10, 20 )
print ("函数外 : ", total)
(九) 综合案例
money = 5000000
def menu():
name = input("您好!请输入客户姓名:")
print("您好,请问您需要什么服务呢?")
print("输入1:查询余额")
print("输入2:存款")
print("输入3:取款")
n = int(input("请输入功能号:"))
if n == 1:
check(money)
elif n == 2:
x = int(input("请输入您想存入的金额:"))
deposit(x)
elif n == 3:
y = int(input("请输入您想取出的金额:"))
withdraw(y)
def check(money):
print(f"您好!您的余额为:{money}")
menu()
def deposit(x):
money1 = x + money
print(f"您好,存款成功后,您的余额为:{money1}")
menu()
def withdraw(x):
money2 = money - x
print(f"您好,取款成功后,您的余额为:{money2}")
menu()
menu()