大家好,我是python网络爬虫这门课程的主要讲师geo
函数(Function)
函数(Function)是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
在 Python 中,函数是使用 def 关键字定义的。函数的使用有以下优势:
- 代码复用:避免重复编写相同代码。
- 模块化:提高代码的可读性和可维护性。
- 便于调试和测试:小功能模块单独调试更简单。
- 提高可扩展性:便于代码扩展和功能组合。
def function_name(parameters):
"""函数文档字符串"""
# 函数体
return result
def:定义函数的关键字
function_name:函数名,遵循变量命名规则
parameters:参数列表,可为空
return:返回值,可省略
""" """:函数文档字符串,用于描述函数功能
def greet(name):
"""打印问候语"""
return f"Hello, {name}"
print(greet("Alice"))
# 输出: Hello, Alice
函数参数
函数参数是函数与外界交互的重要方式。Python 支持多种参数类型:
位置参数(Positional Arguments)
def add(a, b):
return a + b
print(add(5, 3)) # 输出: 8
关键字参数(Keyword Arguments)
def greet(name, age):
print(f"Hello, {name}. You are {age} years old.")
greet(age=25, name="Bob")
# 输出: Hello, Bob. You are 25 years old.
默认参数(Default Arguments)
def greet(name, message="Hello"):
print(f"{message}, {name}!")
greet("Alice") # 输出: Hello, Alice!
greet("Bob", "Hi") # 输出: Hi, Bob!
可变参数(*args, **kwargs)
*args:接收任意数量的位置参数,返回元组**kwargs:接收任意数量的关键字参数,返回字典
def func(*args, **kwargs):
print("args:", args)
print("kwargs:", kwargs)
func(1, 2, 3, a=4, b=5)
# 输出:
# args: (1, 2, 3)
# kwargs: {'a': 4, 'b': 5}
返回值
函数可以返回单个值或多个值(以元组形式返回)。
def add_and_sub(a, b):
return a+b, a-b
sum_result, sub_result = add_and_sub(10, 5)
print(sum_result) # 15
print(sub_result) # 5
lambda
f = lambda name : "Hello, " + name
f("Alice")
跟函数是一样的功能,但是较简洁,在特定的领域也较函数高效,也称为匿名函数
异常处理
- 用户输入错误
- 网络断线
- 文件不存在
- 网站返回 404 / 500
try:
# 可能出错的代码
except 错误类型:
# 出错时执行
num = 1
try:
print("你输入的是:", num)
except ValueError:
print("输入无效,请输入整数")