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

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

相关推荐
铸剑师欧冶子12 分钟前
AI领域的黄埔军校:OpenAI是新一代的PayPal Mafia,门生故吏遍天下
人工智能·深度学习·机器学习·gpt-3·文心一言
前网易架构师-高司机19 分钟前
手机识别数据集,2628张原始图片,支持yolo,coco json,pasical voc xml等格式的标注
人工智能·手机·数据集
GitLqr23 分钟前
AI洞察 | 一周动态: Manus 裁员、Kimi K2 开源、混元 3D 创作、Qwen Chat 桌面客户端
人工智能·agent·ai编程
Y1nhl36 分钟前
力扣_二叉树的BFS_python版本
python·算法·leetcode·职场和发展·宽度优先
CareyWYR41 分钟前
让 LLM 拥有“可治理的记忆”:MemOS:A Memory OS for AI System 论文解读
人工智能
SHIPKING3931 小时前
【云端深度学习训练与部署平台】AutoDL连接VSCode运行深度学习项目的全流程
人工智能·深度学习·autodl
Q_Q5110082851 小时前
python的婚纱影楼管理系统
开发语言·spring boot·python·django·flask·node.js·php
JNU freshman1 小时前
计算机视觉 之 经典模型汇总
人工智能·计算机视觉
苏苏susuus1 小时前
NLP:RNN文本生成案例分享
人工智能·rnn·自然语言处理
若兰幽竹2 小时前
【从零开始编写数据库:基于Python语言实现数据库ToyDB的ACID特性】
数据库·python