news 2026/5/9 14:25:58

Python 函数入门

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python 函数入门

函数是组织好的、可重复使用的代码块,用于执行特定任务。通过函数可以将复杂问题分解为多个小任务,提高代码的可读性和复用性。

基础语法

定义函数使用def关键字,后接函数名和圆括号(),圆括号内可以包含参数,函数内容以冒号:起始,并且需要缩进。

def function_name(parameters): """函数文档字符串""" # 函数体 return [expression]

示例:定义一个简单函数

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

调用函数:

greet() # 输出: Hello, World!

函数参数

函数可以接受参数,参数分为位置参数、默认参数、可变参数和关键字参数。

位置参数

按照参数位置顺序传递。

def add(a, b): return a + b result = add(3, 5) # 输出: 8

默认参数

参数可以设置默认值,调用时可不传递。

def greet(name="Guest"): print(f"Hello, {name}!") greet() # 输出: Hello, Guest! greet("Alice") # 输出: Hello, Alice!

可变参数 (*args)

接受任意数量的位置参数,存储为元组。

def sum_numbers(*args): return sum(args) print(sum_numbers(1, 2, 3)) # 输出: 6

关键字参数 (**kwargs)

接受任意数量的关键字参数,存储为字典。

def print_info(**kwargs): for key, value in kwargs.items(): print(f"{key}: {value}") print_info(name="Alice", age=25) # 输出: # name: Alice # age: 25

返回值

函数使用return语句返回值,如果没有return语句,函数默认返回None

返回单个值

def square(n): return n * n print(square(4)) # 输出: 16

返回多个值

通过元组形式返回多个值。

def get_user(): name = "Alice" age = 25 return name, age user_name, user_age = get_user() print(user_name, user_age) # 输出: Alice 25

函数注释规范

Python 使用文档字符串(docstring)为函数添加注释,通常使用三重引号"""包裹。

基本格式

def function_name(parameters): """函数功能描述 参数说明: param1 (类型): 描述 param2 (类型): 描述 返回值: 类型: 描述 """ # 函数体 pass

示例

def calculate_area(length, width): """计算矩形的面积 参数: length (float): 矩形的长度 width (float): 矩形的宽度 返回值: float: 矩形的面积 """ return length * width area = calculate_area(5.0, 3.0) print(area) # 输出: 15.0

综合示例

结合参数、返回值和注释的完整示例:

def get_user_info(name, age=18, *hobbies, **details): """获取用户信息并格式化输出 参数: name (str): 用户姓名 age (int): 用户年龄,默认为18 *hobbies: 可变长度的爱好列表 **details: 其他用户详细信息 返回值: dict: 包含用户信息的字典 """ user_info = { "name": name, "age": age, "hobbies": hobbies, "details": details } return user_info info = get_user_info("Alice", 25, "Reading", "Swimming", city="New York", occupation="Engineer") print(info) # 输出: # { # 'name': 'Alice', # 'age': 25, # 'hobbies': ('Reading', 'Swimming'), # 'details': {'city': 'New York', 'occupation': 'Engineer'} # }

注意事项

  • 函数名应使用小写字母和下划线组合,如calculate_area
  • 参数名应具有描述性,避免使用单字母。
  • 复杂的函数应添加详细的文档字符串说明其用途和参数。
  • 函数应尽量保持单一职责,避免一个函数做太多事情。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 14:25:57

OpenClaw用户如何通过Taotoken获取稳定且多样的模型支持

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 OpenClaw用户如何通过Taotoken获取稳定且多样的模型支持 对于使用OpenClaw构建智能体应用的开发者而言,直接接入单一模…

作者头像 李华
网站建设 2026/5/9 14:25:32

CANN/pto-isa矩阵乘法操作参考

矩阵乘法 【免费下载链接】pto-isa Parallel Tile Operation (PTO) is a virtual instruction set architecture designed by Ascend CANN, focusing on tile-level operations. This repository offers high-performance, cross-platform tile operations across Ascend platf…

作者头像 李华
网站建设 2026/5/9 14:22:38

AI驱动野生动物保护:计算机视觉与机器学习实战指南

1. 项目概述:当AI成为森林的“眼睛”几年前,我在一个自然保护区的项目现场,和巡护员们一起翻看红外相机拍下的海量照片。他们需要从成千上万张照片里,找出可能出现的珍稀物种,或者识别出可疑的人类活动痕迹。那是一个极…

作者头像 李华
网站建设 2026/5/9 14:19:36

CANN驱动PCIe错误查询API

dcmi_get_device_pcie_error_cnt 【免费下载链接】driver 本项目是CANN提供的驱动模块,实现基础驱动和资源管理及调度等功能,使能昇腾芯片。 项目地址: https://gitcode.com/cann/driver 函数原型 int dcmi_get_device_pcie_error_cnt(int card_…

作者头像 李华
网站建设 2026/5/9 14:17:32

CANN运行时简单模型实例示例

0_simple_model 【免费下载链接】runtime 本项目提供CANN运行时组件和维测功能组件。 项目地址: https://gitcode.com/cann/runtime 描述 本样例展示了如何捕获Stream中的任务并创建一个模型实例,然后执行该模型实例得到结果。 产品支持情况 本样例在以下…

作者头像 李华