当前位置: 首页 > news >正文

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

文章目录

  • 一、什么是函数?
  • 二、函数定义与调用
    • 2.1 基本语法
    • 2.2 示例演示
  • 三、函数参数详解
    • 3.1 位置参数
    • 3.2 默认参数
    • 3.3 可变参数
    • 3.4 关键字参数
  • 四、返回值与文档说明
    • 4.1 返回多个值
    • 4.2 编写文档字符串
  • 五、函数嵌套与作用域
    • 5.1 嵌套函数示例
    • 5.2 变量作用域
    • 5.3 global关键字


一、什么是函数?

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

二、函数定义与调用

2.1 基本语法

def 函数名(参数):"""函数说明文档"""函数体return 返回值

2.2 示例演示

定义问候函数

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

调用函数

greet("Alice")  # 输出:Hello, Alice!
greet("Bob")    # 输出:Hello, Bob!

三、函数参数详解

3.1 位置参数

def calculate_area(length, width):return length * widthprint(calculate_area(5, 3))  # 输出:15

3.2 默认参数

def power(base, exponent=2):return base ** exponentprint(power(3))     # 输出:9
print(power(2, 4))  # 输出:16

3.3 可变参数

def sum_all(*numbers):total = 0for n in numbers:total += nreturn totalprint(sum_all(1, 2, 3))  # 输出:6

3.4 关键字参数

def build_profile(**info):profile = {}for key, value in info.items():profile[key] = valuereturn profileuser = build_profile(name="Alice", age=25, occupation="Engineer")
print(user)  # 输出:{'name': 'Alice', 'age': 25, 'occupation': 'Engineer'}

四、返回值与文档说明

4.1 返回多个值

def calculate(a, b):return a+b, a-b, a*bsum_result, sub_result, mul_result = calculate(8, 5)

4.2 编写文档字符串

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

五、函数嵌套与作用域

5.1 嵌套函数示例

def outer():print("外层函数被调用")def inner():print("内层函数被调用")inner()outer()

输出:
外层函数被调用
内层函数被调用

5.2 变量作用域

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

5.3 global关键字

count = 0def increment():global countcount += 1increment()
print(count)  # 输出:1

六、综合案例

def temperature_converter(value, unit):"""温度单位转换器参数:value: 温度值unit: 原始单位('C'或'F')返回:转换后的温度值(保留两位小数)"""if unit == 'C':converted = value * 9/5 + 32return round(converted, 2)elif unit == 'F':converted = (value - 32) * 5/9return round(converted, 2)else:raise ValueError("无效的温度单位")print(temperature_converter(37, 'C'))  # 输出:98.6
print(temperature_converter(100, 'F')) # 输出:37.78
http://www.xdnf.cn/news/535465.html

相关文章:

  • C++ 关于C++中IO流的相关内容 stringstream的相关介绍
  • 「卫星百科」四维高景系列卫星
  • 从API到UI:直播美颜SDK中的滤镜与贴纸功能开发与落地方案详解
  • 理解UDP协议
  • 【二分 优先队列】P3611 [USACO17JAN] Cow Dance Show S|普及+
  • 天才简史——Paolo Fiorini与他的速度障碍法
  • 禁止在Windows命令行输入python后跳转Microsoft Store
  • Java反射机制详解:原理、应用与实战
  • 使用for循环和字典功能,统计字符出现在一个英文句子中的次数(python)
  • 雷电模拟器安装 KitsuneMagisk (原 Magisk-delta)
  • Python训练营打卡DAY30
  • 关于在Unity项目中使用Post Processing插件打包到web端出现的问题
  • 6K型护套连接器DLJ0601(2000)-00
  • Java大厂面试三轮问答:微服务与数据库技术深度解析
  • token令牌
  • 自定义协议与序列化
  • 初学c语言16(内存函数)
  • 哈夫曼编码:数据压缩的优雅艺术
  • 【CodeBuddy 】从0到1,让网页导航栏变为摸鱼神器
  • 学习VS2022离线安装包的下载方法
  • unity UGUI虚线框shader
  • 无符号长整型数x的循环右移
  • Docker构建 Dify 应用定时任务助手
  • unity 第一人称控制器
  • std::ranges::views::as_const 和 std::ranges::as_const_view
  • ABAP创建类
  • 【Tools】VMware Workstation 17.6 Pro安装教程
  • windows使用ollama部署deepseek及qwen
  • SnapEdit安卓版:AI赋能,一键抠图与创意编辑
  • 创新点!贝叶斯优化、CNN与LSTM结合,实现更准预测、更快效率、更高性能!