初识函数------了解函数的定义、函数的参数、函数的返回值、说明文档的书写、函数的嵌套使用、变量的作用域(全局变量与局部变量)

文章目录


一、什么是函数?

函数是组织好的、可重复使用的代码段,用于实现单一或相关联功能的封装。如同生活中的工具,函数能让我们避免重复造轮子,提高开发效率和代码可维护性。

二、函数定义与调用

2.1 基本语法

python 复制代码
def 函数名(参数):
    """函数说明文档"""
    函数体
    return 返回值

2.2 示例演示

定义问候函数

python 复制代码
def greet(name):
    """显示简单的问候语"""
    print(f"Hello, {name}!")

调用函数

python 复制代码
greet("Alice")  # 输出:Hello, Alice!
greet("Bob")    # 输出:Hello, Bob!

三、函数参数详解

3.1 位置参数

python 复制代码
def calculate_area(length, width):
    return length * width

print(calculate_area(5, 3))  # 输出:15

3.2 默认参数

python 复制代码
def power(base, exponent=2):
    return base ** exponent

print(power(3))     # 输出:9
print(power(2, 4))  # 输出:16

3.3 可变参数

python 复制代码
def sum_all(*numbers):
    total = 0
    for n in numbers:
        total += n
    return total

print(sum_all(1, 2, 3))  # 输出:6

3.4 关键字参数

python 复制代码
def build_profile(**info):
    profile = {}
    for key, value in info.items():
        profile[key] = value
    return profile

user = build_profile(name="Alice", age=25, occupation="Engineer")
print(user)  # 输出:{'name': 'Alice', 'age': 25, 'occupation': 'Engineer'}

四、返回值与文档说明

4.1 返回多个值

python 复制代码
def calculate(a, b):
    return a+b, a-b, a*b

sum_result, sub_result, mul_result = calculate(8, 5)

4.2 编写文档字符串

python 复制代码
def quadratic(a, b, c):
    """
    解一元二次方程
    参数:
        a: 二次项系数
        b: 一次项系数
        c: 常数项
    返回:
        方程的实数解元组
    """
    discriminant = b**2 - 4*a*c
    x1 = (-b + discriminant**0.5) / (2*a)
    x2 = (-b - discriminant**0.5) / (2*a)
    return x1, x2

五、函数嵌套与作用域

5.1 嵌套函数示例

python 复制代码
def outer():
    print("外层函数被调用")
    
    def inner():
        print("内层函数被调用")
    
    inner()

outer()

输出:

外层函数被调用

内层函数被调用

5.2 变量作用域

python 复制代码
global_var = "全局变量"

def test_scope():
    local_var = "局部变量"
    print(global_var)  # 可以访问全局变量
    
test_scope()
print(local_var)  # 报错:NameError

5.3 global关键字

python 复制代码
count = 0

def increment():
    global count
    count += 1

increment()
print(count)  # 输出:1

六、综合案例

python 复制代码
def temperature_converter(value, unit):
    """
    温度单位转换器
    参数:
        value: 温度值
        unit: 原始单位('C'或'F')
    返回:
        转换后的温度值(保留两位小数)
    """
    if unit == 'C':
        converted = value * 9/5 + 32
        return round(converted, 2)
    elif unit == 'F':
        converted = (value - 32) * 5/9
        return round(converted, 2)
    else:
        raise ValueError("无效的温度单位")

print(temperature_converter(37, 'C'))  # 输出:98.6
print(temperature_converter(100, 'F')) # 输出:37.78
相关推荐
咚咚王者26 分钟前
人工智能之数学基础 线性代数:第三章 特征值与特征向量
人工智能·线性代数·机器学习
weixin_377634846 小时前
【K-S 检验】Kolmogorov–Smirnov计算过程与示例
人工智能·深度学习·机器学习
yaoh.wang7 小时前
力扣(LeetCode) 13: 罗马数字转整数 - 解法思路
python·程序人生·算法·leetcode·面试·职场和发展·跳槽
T1ssy7 小时前
布隆过滤器:用概率换空间的奇妙数据结构
算法·哈希算法
hetao17338377 小时前
2025-12-12~14 hetao1733837的刷题笔记
数据结构·c++·笔记·算法
小鸡吃米…7 小时前
Python PyQt6教程七-控件
数据库·python
1916zz8 小时前
Extreme programing 方利喆 _ 江贤晟
python
长安牧笛8 小时前
智能鞋柜—脚气终结者,内置温湿度传感器和紫外线灯,晚上回家,把鞋放进去,自动检测湿度,湿度超标就启动烘干+紫外线杀菌,第二天穿鞋干燥无异味。
python
鲨莎分不晴8 小时前
强化学习第五课 —— A2C & A3C:并行化是如何杀死经验回放
网络·算法·机器学习
weixin_457760008 小时前
PIL库将图片位深度是1、8、32统一转换为24的方法
python