【Python修仙笔记.3】Python函数作为秘技 - 封装你的仙法

章节3: 函数作为秘技 - 封装你的仙法

故事情节

王麻子刷怪升级,灵力破百。老头见他重复写代码攻击,说:"小子,你这是在浪费灵气!用函数封装秘技,一次定义,多次调用,像我的'九阳神功'!"

王麻子:"函数?听起来高端!教我,老头!"

老头:"哈哈,函数是修仙界的绝学,能输入参数,输出结果。来,定义一个攻击函数!"

王麻子学成后,一招秒群妖:"太爽了,这才是修仙!"

编程知识点讲解

老头:"def function_name(parameters): 代码块 return result"

例如:def add_power(current, increase): return current + increase

调用:new_power = add_power(100, 50)

默认参数,*args, **kwargs简单提。

老头:"函数像丹药,输入原料,输出功效。别忘return,不然无果而终!"

实战代码示例

python 复制代码
# 定义攻击函数
def attack(enemy_power, my_power=100):
    if my_power > enemy_power:
        return "胜利!灵力+10"
    else:
        return "失败!灵力-5"

# 调用
result = attack(80)
print(result)

# 带多个参数的函数
def calculate_total_power(*powers):
    total = 0
    for p in powers:
        total += p
    return total

print(calculate_total_power(10, 20, 30, 40))

趣味练习题

  1. 定义一个函数,输入名字,输出"欢迎加入修仙界,[名字]!"

  2. 写一个函数计算两数和,返回结果。用它算1+1=?

  3. 创建函数模拟掷骰子(random模块),返回1-6随机数。调用几次看运气!

练习题答案与解释

  1. 欢迎函数:

    python 复制代码
    def welcome(name):
        print(f"欢迎加入修仙界,{name}!")
    
    welcome("王麻子")  # 示例调用

    解释: 定义函数welcome接受参数name,并使用print输出欢迎消息。这练习了函数定义、参数传递和调用,封装了重复操作。

  2. 加法函数:

    python 复制代码
    def add(a, b):
        return a + b
    
    result = add(1, 1)
    print(result)  # 输出: 2

    解释: 函数add接受两个参数并返回它们的和。调用时传入1和1,演示了return语句的重要性,用于获取计算结果。

  3. 掷骰子函数:

    python 复制代码
    import random
    
    def roll_dice():
        return random.randint(1, 6)
    
    print(roll_dice())  # 示例调用,可能输出3
    print(roll_dice())  # 另一次,可能输出5

    解释: 导入random模块,函数roll_dice使用randint生成随机数。这介绍了模块导入和无参数函数,模拟随机事件如修仙抽签。

本章知识点总结

  • def定义函数,parameters输入,return输出。

  • 调用函数重复使用代码。

  • 默认参数和可变参数让函数更灵活。

  • 函数是代码的法宝,封装好,修仙路更顺!

相关推荐
oden5 分钟前
AI服务商切换太麻烦?一个AI Gateway搞定监控、缓存和故障转移(成本降40%)
后端·openai·api
我一定会有钱5 分钟前
斐波纳契数列、end关键字
python
李慕婉学姐1 小时前
【开题答辩过程】以《基于Android的出租车运行监测系统设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·后端·vue
小鸡吃米…1 小时前
Python 列表
开发语言·python
m0_740043731 小时前
SpringBoot05-配置文件-热加载/日志框架slf4j/接口文档工具Swagger/Knife4j
java·spring boot·后端·log4j
星依网络2 小时前
yolov5实现游戏图像识别与后续辅助功能
python·开源·游戏程序·骨骼绑定
招风的黑耳2 小时前
我用SpringBoot撸了一个智慧水务监控平台
java·spring boot·后端
大佐不会说日语~2 小时前
Spring AI Alibaba 的 ChatClient 工具注册与 Function Calling 实践
人工智能·spring boot·python·spring·封装·spring ai
Miss_Chenzr2 小时前
Springboot优卖电商系统s7zmj(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
期待のcode2 小时前
Springboot核心构建插件
java·spring boot·后端