当前位置:首页 > 技术 > 正文内容

Python函数基础:从定义到返回值的完整指南

访客 技术 2026年7月14日 1

函数的作用与意义

在编程中,函数是一种将代码组织为可重用模块的重要方式。当我们需要多次执行相同或相似的操作时,使用函数可以避免重复编写代码,提高开发效率和程序的可维护性。

函数的核心优势包括:

  • 代码复用:一次定义,多处调用
  • 结构清晰:将复杂任务分解为独立的功能块
  • 逻辑抽象:使用者无需了解内部实现细节,只需知道功能用途

函数的定义与调用

在 Python 中,使用 def 关键字来创建函数。语法格式如下:

def function_name():
    # 函数体(必须缩进)
    pass

只有当函数被调用时,其内部的代码才会被执行。例如:

def greet():
    print("Hello World")

greet()  # 输出: Hello World

参数的使用

函数可以通过参数接收外部数据。定义函数时括号内的名称称为形参(形式参数),而调用时传入的具体值是实参(实际参数)。

def greet_user(name):
    print("Hello", name)

greet_user("Alice")  # 输出: Hello Alice

多个参数的传递

函数可以接受多个参数,使用逗号分隔:

def multiply(x, y):
    print(x * y)

multiply(4, 5)  # 输出: 20

关键字参数

调用函数时可以通过参数名明确指定值,提升代码可读性,并避免因顺序错误导致的问题:

def describe_pet(animal, name):
    print(f"I have a {animal} named {name}")

describe_pet(animal="dog", name="Buddy")

默认参数值

可以为参数设置默认值,当调用时不提供该参数时将使用默认值:

def calculate_area(length, width=10):
    area = length * width
    print(area)

calculate_area(5)      # 输出: 50
calculate_area(5, 8)   # 输出: 40

注意:所有带默认值的参数必须放在无默认值参数之后。

函数的返回值

使用 return 语句可以让函数向调用者返回一个结果。遇到 return 后,函数立即结束执行。

def add_numbers(a, b):
    return a + b

result = add_numbers(3, 7)
print(result)  # 输出: 10

如果函数没有显式返回值,则默认返回 None

def show_message():
    print("This is a message")

output = show_message()
print(output)  # 输出: None

返回多个值

Python 允许函数通过元组的形式返回多个值:

def divide_with_remainder(dividend, divisor):
    quotient = dividend // divisor
    remainder = dividend % divisor
    return quotient, remainder

q, r = divide_with_remainder(17, 5)
print(q)  # 输出: 3
print(r)  # 输出: 2

实际上,这些值被打包成一个元组返回:(3, 2)

占位符:pass 语句

有时我们需要先定义函数结构但暂不实现内容,此时可用 pass 作为占位符,防止语法错误:

def future_feature():
    pass  # 待后续实现

future_feature()
print("程序继续运行...")

pass 不执行任何操作,仅保持代码结构完整。

标签: Python

相关文章

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

Laravel 事件和监听器创建

在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Even...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

linux screen 用法详情 (nohup 的替代方案)

一、screen 是什么?能干嘛?screen 是一个终端复用器,可以:在一个 SSH 会话中开多个“虚拟终端”SSH 断线后,程序仍然在后台运行随时重新连接到原来的会话特别适合:nohup 的替代方案跑脚本 / 爬虫 / 训练模型运维、远程开发二、安装 screen# CentOS / Rocky / Almayum install -y screen# Debian / Ubuntuapt i...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。