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

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

相关推荐
数据库知识分享者小北6 分钟前
云栖重磅|瑶池数据库:从云原生数据底座向“AI就绪”的多模态数据底座演进
数据库·人工智能·云原生
lingling0097 分钟前
机械臂动作捕捉系统选型指南:从需求到方案,NOKOV 度量光学动捕成优选
人工智能·算法
Blossom.11827 分钟前
把AI“刻”进玻璃:基于飞秒激光量子缺陷的随机数生成器与边缘安全实战
人工智能·python·单片机·深度学习·神经网络·安全·机器学习
tangchen。33 分钟前
YOLOv3 :目标检测的经典融合与创新
人工智能·计算机视觉·目标跟踪
Jeled41 分钟前
AI: 生成Android自我学习路线规划与实战
android·学习·面试·kotlin
Kratzdisteln1 小时前
【Python OOP Diary 1.1】题目二:简单计算器,改错与优化
python·面向对象编程
掘金安东尼1 小时前
OCR的新高度?PaddleOCR-VL 与 DeepSeek-OCR 的技术与应用横评
人工智能
小白银子1 小时前
零基础从头教学Linux(Day 53)
linux·运维·python
Aurora-silas1 小时前
LLM微调尝试——MAC版
人工智能·pytorch·深度学习·macos·机器学习·语言模型·自然语言处理
空白到白1 小时前
BERT,GPT,ELMO模型对比
人工智能·gpt·自然语言处理·bert