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

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

相关推荐
幻云20109 分钟前
AI自动化编排:从入门到精通(基于Dify构建AI智能系统)
运维·人工智能·自动化
CoderJia程序员甲20 分钟前
GitHub 热榜项目 - 日榜(2026-1-13)
人工智能·ai·大模型·github·ai教程
梦梦代码精30 分钟前
《全栈开源智能体:终结企业AI拼图时代》
人工智能·后端·深度学习·小程序·前端框架·开源·语音识别
suyong_yq31 分钟前
RUHMI & RA8P1 教程 Part4 - 使用 RUHMI 转换 AI 模型文件
人工智能·ai·嵌入式·arm
程序员欣宸35 分钟前
LangChain4j实战之十三:函数调用,低级API版本
java·人工智能·ai·langchain4j
charlie11451419136 分钟前
从 0 开始的机器学习——NumPy 线性代数部分
开发语言·人工智能·学习·线性代数·算法·机器学习·numpy
咚咚王者41 分钟前
人工智能之核心基础 机器学习 第十二章 半监督学习
人工智能·学习·机器学习
人工智能训练1 小时前
UE5 如何显示蓝图运行流程
人工智能·ue5·ai编程·数字人·蓝图
袁气满满~_~1 小时前
Python数据分析学习
开发语言·笔记·python·学习
deephub1 小时前
构建自己的AI编程助手:基于RAG的上下文感知实现方案
人工智能·机器学习·ai编程·rag·ai编程助手