苦练Python第12天:函数三板斧,def、return、参数

苦练Python第12天:函数三板斧,def、return、参数

原文链接:dev.to/therahul_gu...

作者:Rahul Gupta

译者:倔强青铜三

前言

大家好,我是倔强青铜三 。是一名热情的软件工程师,我热衷于分享和传播IT技术,致力于通过我的知识和技能推动技术交流与创新,欢迎关注我,微信公众号:倔强青铜三。欢迎点赞、收藏、关注,一键三连!!!

欢迎来到 100天Python挑战 的第12天!

今天,我们正式请出 函数 ------ 让代码可复用模块化可读性 大增的利器。

读完本文,你将学会如何 定义调用传参 以及用 return 取回结果。


今日速览

  • 函数是什么,为什么好用
  • def 定义函数
  • 参数 传递数据
  • return 返回值
  • 实战演示与常见坑

🧠 什么是函数?

函数是等调用才执行 的代码块。

它能接收 输入(参数) ,处理逻辑,并可选地 返回结果

把函数想成一台机器:投料 → 加工 → 出成品。


🔧 1. 用 def 定义函数

用关键字 def 起头:

python 复制代码
def greet():
    print("Hello from a function!")

调用时直接写函数名加括号:

python 复制代码
greet()

输出:

css 复制代码
Hello from a function!

📨 2. 加参数:让函数更灵活

参数 = 函数输入口。

python 复制代码
def greet_user(name):
    print(f"Hello, {name}!")

调用:

python 复制代码
greet_user("Alice")  # Hello, Alice!

多参数同样简单:

python 复制代码
def add(x, y):
    print(x + y)

add(5, 3)  # 8

🎯 3. 用 return 拿回结果

return 把结果抛回给调用者

python 复制代码
def square(number):
    return number * number

result = square(4)
print(result)  # 16

return 可带回:

  • 单个值
  • 多个值(元组)
  • 列表、字典等任意类型

✨ 迷你计算器

python 复制代码
def add(x, y):
    return x + y

def subtract(x, y):
    return x - y

print(add(10, 5))       # 15
print(subtract(10, 5))  # 5

🚀 实战1:小费计算器

python 复制代码
def calculate_tip(amount, percent):
    tip = amount * (percent / 100)
    return round(tip, 2)

print("Tip:", calculate_tip(200, 10))  # Tip: 20.0

🧪 实战2:奇偶判定

python 复制代码
def is_even(number):
    return number % 2 == 0

print(is_even(6))  # True
print(is_even(7))  # False

📌 默认参数:不传就用备胎

python 复制代码
def greet(name="stranger"):
    print(f"Hello, {name}!")

greet()         # Hello, stranger!
greet("Maria")  # Hello, Maria!

⚠️ 常见坑

  • 漏写括号 () → 函数不执行
  • 需要返回值却忘了 return
  • 混淆 形参 (定义时的占位符)与 实参(调用时传的真值)

🧠 今日复盘

  • def 定义
  • 参数 传数据
  • return 取结果
  • 实战:计算器、小费、奇偶判定
  • 默认参数与常见错误

最后感谢阅读!欢迎关注我,微信公众号倔强青铜三。欢迎点赞收藏关注,一键三连!!!

相关推荐
舒一笑1 天前
如何获取最新的技术趋势和热门技术
人工智能·程序员
聚客AI1 天前
🎉OpenClaw深度解析:多智能体协同的三种模式、四大必装技能与自动化运维秘籍
人工智能·开源·agent
黄粱梦醒1 天前
大模型企业级部署方案-vllm
人工智能·llm
IT_陈寒1 天前
JavaScript代码效率提升50%?这5个优化技巧你必须知道!
前端·人工智能·后端
IT_陈寒1 天前
Java开发必知的5个性能优化黑科技,提升50%效率不是梦!
前端·人工智能·后端
康斯坦丁师傅1 天前
发现一个插件,免费用谷歌最新NanoBanana 2
人工智能
用户11481867894841 天前
Vite项目中的SVG雪碧图
前端·面试
emo猫pro_max1 天前
openclaw飞书流式回复配置指南
人工智能
FishCoderh1 天前
被OpenClaw的Session搞晕了?这篇让你彻底搞懂
人工智能
孤烟1 天前
19 万 + GitHub 星标!OpenClaw 凭什么成为 2026 最火 AI Agent,万字实测告诉你
人工智能