如何做好政府门户网站建设想开广告公司怎么起步
1. 函数基础概念
1.1 什么是函数
-
定义:函数是一段可重复调用的代码块,用于封装特定功能。
-
核心作用:
- 代码重用:减少重复代码的编写。
- 增强可读性:通过命名和模块化让代码逻辑更清晰。
1.2 函数的定义与调用
def 函数名(参数):"""函数文档字符串(可选)"""函数体代码return 返回值 # 可选# 示例
def greet(name):"""向用户打招呼"""print(f"Hello, {name}!")greet("Alice") # 输出:Hello, Alice!
1.3 函数的应用场景
-
场景1:重复代码封装
def send_alert(email):# 发送邮件的10行代码passif cpu_usage > 90:send_alert("admin@example.com")
-
场景2:复杂逻辑分块
def check_straight(cards):"""判断是否为顺子"""passdef check_flush(cards):"""判断是否为同花"""pass
2. 函数参数详解
2.1 位置参数与关键字参数
-
位置传参:按参数定义顺序传递值。
def add(a, b):return a + badd(3, 5) # 输出:8
-
关键字传参:通过参数名指定值,顺序可调。
add(a=3, b=5) # 输出:8 add(b=5, a=3) # 输出:8
2.2 默认参数
-
定义时指定默认值,调用时可省略。
def power(base, exponent=2):return base ** exponentpower(3) # 输出:9(使用默认指数2) power(3, 3) # 输出:27
2.3 动态参数
-
*args:接收任意数量的位置参数,存储为元组。
def sum_all(*args):return sum(args)sum_all(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)
2.4 参数传递的注意事项
-
混合使用顺序:位置参数 → 默认参数 → *args → **kwargs。
-
不可变与可变对象:
- 不可变对象(如整数、字符串)在函数内修改时会创建新对象。
- 可变对象(如列表、字典)在函数内修改会直接影响原对象。
3. 函数返回值
3.1 返回值的基本使用
def is_even(num):return num % 2 == 0print(is_even(4)) # 输出:True
3.2 返回值的类型与特性
-
多返回值:自动打包为元组。
def min_max(nums):return min(nums), max(nums)result = min_max([3, 1, 4]) # (1, 4)
-
无返回值:默认返回 None。
3.3 利用返回值控制流程
def find_user(users, target):for user in users:if user == target:return True # 找到后立即终止函数return False