苦练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 取结果
  • 实战:计算器、小费、奇偶判定
  • 默认参数与常见错误

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

相关推荐
WSSWWWSSW3 小时前
Seaborn数据可视化实战:Seaborn数据可视化基础-从内置数据集到外部数据集的应用
python·信息可视化·数据分析·matplotlib·seaborn
Small___ming3 小时前
Matplotlib 可视化大师系列(七):专属篇 - 绘制误差线、等高线与更多特殊图表
python·信息可视化·matplotlib
技术与健康3 小时前
LLM实践系列:利用LLM重构数据科学流程03- LLM驱动的数据探索与清洗
大数据·人工智能·重构
张小九994 小时前
Foldseek快速蛋白质结构比对
人工智能
胡gh5 小时前
页面卡成PPT?重排重绘惹的祸!依旧性能优化
前端·javascript·面试
云卓SKYDROID5 小时前
无人机延时模块技术难点解析
人工智能·无人机·高科技·云卓科技·延迟摄像
神齐的小马5 小时前
机器学习 [白板推导](十三)[条件随机场]
人工智能·机器学习
荼蘼5 小时前
CUDA安装,pytorch库安装
人工智能·pytorch·python
胡gh5 小时前
简单又复杂,难道只能说一个有箭头一个没箭头?这种问题该怎么回答?
javascript·后端·面试
言兴5 小时前
# 深度解析 ECharts:从零到一构建企业级数据可视化看板
前端·javascript·面试