约 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