函数
1. pycharm快捷键
Ctrl + Q 快速查看文档(能快速查看到选择的函数创建者对该函数的注释)
2. 定义
(1) 用于封装一个特定的功能,表示一个功能或者行为。
(2) 函数是可以重复执行的语句块, 可以重复调用。
(3) 设计理念:崇尚小而精,拒绝大而全
""" 函数设计理念: 崇尚小而精,拒绝大而全 返回值 """ # 需求:定义函数,实现2个数字相加 """ def add(): # 获取数据 one = int(input("请输入第一个数字:")) two = int(input("请输入第二个数字:")) # 逻辑计算 result = one + two # 显示结果 print("结果是:%s" % result) add() """ # 函数要细分明确它的功能, # 如逻辑计算,还是获取数据,抑或显示结果,功能要明确 def add(one, two): # 逻辑计算 result = one + two return result # 返回结果 【发送】 # 接收返回值 【接收】 data = add(2, 5) print(data)
3. 作用
将功能的做法与用法分离
提高代码的可重用性和可维护性(代码层次结构更清晰)。
4. 基础语法
4.1 定义函数
(1) 语法
def 函数名(形式参数): 函数体
(2) 说明:
def 关键字:全称是define,意为”定义”。
函数名:对函数体中语句的描述,规则与变量名相同。
形式参数:函数定义者要求调用者提供的信息。
函数体:完成该功能的语句。
""" 函数-参数 函数调用者 传递给 函数定义者 传递的信息 """ # 做法(变化) def attack(count): # 形式参数:抽象的 for i in range(count): # 01234 print("直拳") print("摆拳") print("勾拳") # 调试F8:逐过程执行(跳过函数) # F7:逐语句执行(进入函数) # 用法 count = 2 attack(count) # 实际参数:具体的 循环2次 num = 3 attack(num) # 循环3次 attack(5) # 循环5次
(3) 函数的第一行语句建议使用文档字符串描述函数的功能与参数(可在pycharm中按ctrl+q查看)
""" 练习1:创建计算治愈比例的函数 confirmed = int(input("请输入确诊人数:")) cure = int(input("请输入治愈人数:")) cure_rate = cure / confirmed * 100 print("治愈比例为" + str(cure_rate) + "%") """ def calculate_cure_ratio(confirmed, cure): """ 计算治愈比例的函数 :param confirmed: int类型,确诊人数 :param cure: int类型,治愈人数 :return: float类型,治愈比例 """ cure_rate = cure / confirmed * 100 return cure_rate rate = calculate_cure_ratio(58, 57) print(rate) num01, num02 = 58, 57 calculate_cure_ratio(num01, num02) print("治愈比例为%s" % rate)
4.2 调用函数
(1) 语法:函数名(实际参数)
(2) 说明:根据形参传递内容。
4.3 返回值
(1) 定义: 函数定义者告诉调用者的结果。
(2) 语法: return 数据
(3) 说明:
return后没有语句,相当于返回 None。
函数体没有return,相当于返回None。
""" 函数 - 返回值语法 """ # 返回结果 def func01(): print("func01执行了") return 100 def func02(): print("func02执行了") # 函数没有返回值,相当于返回了None # return # 函数有返回,但没值 def func03(): # 正常:3个循环应该有3个break结束 # while True: # while True: # while True: # break # break # break while True: while True: while True: return # 退出函数 # 接收结果 data01 = func01() print(data01) # 也可以不接 func01() data02 = func02() # None print(data02)
函数的内存分别