当前位置: 首页 > 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

相关文章:

  • leetcode hot100:一、解题思路大全:技巧(只出现一次的数字、多数元素、颜色分类、下一个排列、寻找重复数)、矩阵(矩阵置零、螺旋矩阵、旋转图像、搜索二维矩阵Ⅱ)
  • Python 训练营打卡 Day 29
  • 实战项目8(实训)
  • 迅联文库开发日志(三)登陆注册
  • python-判断闰年( 极其简单的python)
  • 嵌入式(C语言篇)Day11
  • C语法备注01
  • BGP选路
  • STM32 控制 OLED 全攻略(二):实现字符和汉字的显示
  • 【Vite】静态资源的动态访问
  • 4.6 sys模块
  • 数据库(一):分布式数据库
  • 【通用智能体】Lynx :一款基于终端的纯文本网页浏览器
  • 【计网】作业5
  • 【C++模板与泛型编程】实例化
  • 龙虎榜——20250519
  • C++ 函数对象、仿函数与 Lambda 表达式详解
  • Python中的整型(int)和浮点数(float)
  • vue3 vite 路由
  • 打卡第二十二天
  • 港股上市首日大涨,宁德时代“新动力”何在?曾毓群详谈零碳科技布局
  • 巴西商业农场首次确诊高致病性禽流感,中国欧盟暂停进口巴西禽肉产品
  • 上海发布台风红色预警?实为演练,今日下午局部中雨下班请注意
  • 照护者说|胡泳:向死而在,爱这个世界
  • 俄罗斯哈巴罗夫斯克市首次举办“俄中论坛”
  • 经济日报评论员:拧紧“带头过紧日子”的制度螺栓