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

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

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

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

相关推荐
qq_42323390几秒前
如何用FastAPI构建高性能的现代API
jvm·数据库·python
昊坤说不出的梦6 分钟前
【实战】监控上下文切换及其优化方案
java·后端
疯狂踩坑人16 分钟前
【Python版 2026 从零学Langchain 1.x】(二)结构化输出和工具调用
后端·python·langchain
HDO清风31 分钟前
CASIA-HWDB2.x 数据集DGRL文件解析(python)
开发语言·人工智能·pytorch·python·目标检测·计算机视觉·restful
weixin_4997715533 分钟前
Python上下文管理器(with语句)的原理与实践
jvm·数据库·python
weixin_4521595536 分钟前
高级爬虫技巧:处理JavaScript渲染(Selenium)
jvm·数据库·python
多米Domi01142 分钟前
0x3f 第48天 面向实习的八股背诵第五天 + 堆一题 背了JUC的题,java.util.Concurrency
开发语言·数据结构·python·算法·leetcode·面试
深蓝海拓1 小时前
PySide6从0开始学习的笔记(二十六) 重写Qt窗口对象的事件(QEvent)处理方法
笔记·python·qt·学习·pyqt
纠结哥_Shrek1 小时前
外贸选品工程师的工作流程和方法论
python·机器学习
小汤圆不甜不要钱1 小时前
「Datawhale」RAG技术全栈指南 Task 5
python·llm·rag