• 预备
  • 基础语法
  • 容器类型
  • 函数
  • 面向对象
  • 输入输出
  • 进程控制
  • 线程控制
  • 正则表达式
  • 网络编程
  • 图形界面
  • 常见问题
  • API 帮助手册

  • 设置

1578

8 分钟

#创建和调用函数

在编写程序时,会有很多相似的代码。例如,在游戏战斗中攻击造成伤害的计算方式为

我们只需要在每次计算伤害时带入 攻击力 和 防御力 的数值来计算伤害,而上述计算公式可以通过 函数(Function) 进行复用。

函数的创建与调用方法 如下:

# 创建函数 def 函数名(形式参数1, 形式参数2, ...) -> 返回值类型: 函数体 # 调用函数 函数名(实际参数1, 实际参数2, ...)

函数可以没有参数和返回值,没有返回值时返回 None

参考:Python 官方文档

上述伤害计算公式即可封装为:

# 创建函数 def attack(attack_power:float, defense_power:float): # 计算伤害 damage:float = attack_power * ( 1 - defense_power / (defense_power + 100)) print(f"造成了 {damage} 点伤害") # 调用函数 attack(100, 0) attack(100, 10) attack(100, 20)
Loading...

#返回值

返回值通过 return 关键字返回,例如:

def attack(attack_power:float, defense_power:float) -> None: # 计算伤害 damage:float = attack_power * ( 1 - defense_power / (defense_power + 100)) # 返回伤害 return damage # 获取返回值 damage:float = attack(100, 0) print(f"伤害为 {damage}")
Loading...

函数可以返回多个值,但实际上是返回了一个 元组,例如:

def attack(attack_power:float, defense_power:float) -> None: # 计算伤害 guard:float = attack_power * defense_power / (defense_power + 100) # 防御力减少的伤害 damage:float = attack_power - guard # 实际伤害 # 等价于 return (damage, guard) 返回元组 return damage, guard # 获取返回值 damage, guard = attack(100, 20) # 元组解包语 print(f"伤害为 {damage}, 防御降低了 {guard} 点伤害")
Loading...

创建于 2025/5/4 23:37:10

更新于 2025/5/5 22:32:47