【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输出。

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

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

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

相关推荐
Lear几秒前
Spring Boot异步任务实战:优化耗时操作,提升系统性能
后端
青青子衿_21几秒前
TikTok爬取——视频、元数据、一级评论
爬虫·python·selenium
望眼欲穿的程序猿25 分钟前
Win系统Vscode+CoNan+Cmake实现调试与构建
c语言·c++·后端
忘却的旋律dw39 分钟前
使用LLM模型的tokenizer报错AttributeError: ‘dict‘ object has no attribute ‘model_type‘
人工智能·pytorch·python
bing_1581 小时前
Spring Boot 项目中判断集合(List、Set、Map)不能为空且不为 null的注解使用
spring boot·后端·list
20岁30年经验的码农1 小时前
Java RabbitMQ 实战指南
java·开发语言·python
喵个咪1 小时前
Go 接口与代码复用:替代继承的设计哲学
后端·go
喵个咪1 小时前
ASIO 定时器完全指南:类型解析、API 用法与实战示例
c++·后端
IT_陈寒1 小时前
Vite 3.0 重磅升级:5个你必须掌握的优化技巧和实战应用
前端·人工智能·后端
gadiaola2 小时前
【计算机网络面试篇】HTTP
java·后端·网络协议·计算机网络·http·面试