Python基础教程(Python 函数)
1. 函数的定义
2. 函数的参数
2.1 位置参数
2.2 默认参数
2.3 可变参数
3. 函数的返回值
4. 匿名函数(Lambda 函数)
5. 函数的作用域
6. 递归函数
分类:
Python
聚焦技术和人文,分享干货,共同成长。
def
关键字来定义一个函数,其基本语法如下:def function_name(parameters):
"""函数文档字符串,用于描述函数的功能和使用方法"""
# 函数体,包含具体的代码逻辑
statements
return result # 可选,用于返回函数的结果
function_name
:函数的名称,遵循 Python 的命名规则。parameters
:函数的参数列表,可以有零个或多个参数,多个参数之间用逗号分隔。statements
:函数体,包含具体的代码逻辑。return
:可选语句,用于返回函数的结果。如果没有return
语句,函数默认返回None
。def greet(name):
"""该函数用于向指定的人打招呼"""
return f"Hello, {name}!"
# 调用函数
message = greet("Alice")
print(message) # 输出: Hello, Alice!
def add(a, b):
return a + b
result = add(3, 5)
print(result) # 输出: 8
def greet(name, greeting="Hello"):
return f"{greeting}, {name}!"
message1 = greet("Bob")
message2 = greet("Bob", "Hi")
print(message1) # 输出: Hello, Bob!
print(message2) # 输出: Hi, Bob!
*args
和**kwargs
。*args
:用于接受任意数量的位置参数,它将这些参数打包成一个元组。def sum_numbers(*args):
total = 0
for num in args:
total += num
return total
result = sum_numbers(1, 2, 3, 4, 5)
print(result) # 输出: 15
**kwargs
:用于接受任意数量的关键字参数,它将这些参数打包成一个字典。def print_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_info(name="Alice", age=25, city="New York")
# 输出:
# name: Alice
# age: 25
# city: New York
return
语句返回一个或多个值。如果返回多个值,这些值将被打包成一个元组。def get_name_and_age():
name = "Bob"
age = 30
return name, age
result = get_name_and_age()
print(result) # 输出: ('Bob', 30)
# 解包返回值
name, age = get_name_and_age()
print(name) # 输出: Bob
print(age) # 输出: 30
lambda arguments: expression
arguments
:函数的参数列表。expression
:函数的返回值表达式。# 定义一个Lambda函数
add = lambda a, b: a + b
result = add(3, 5)
print(result) # 输出: 8
# 全局变量
global_var = 10
def test_function():
# 局部变量
local_var = 20
print(global_var) # 可以访问全局变量
print(local_var) # 可以访问局部变量
test_function()
# print(local_var) # 会报错,因为局部变量只能在函数内部访问
def factorial(n):
if n == 0 or n == 1:
return 1
else:
return n * factorial(n - 1)
result = factorial(5)
print(result) # 输出: 120
学会了
我去, 虽然没有360杀毒软件, 但的确运行了一个360安全卫士, 这个垃圾软件真的阻止了安装, 退出后就能正常安装了
很有帮助
楼主,请教一下,这个进程杀掉后,Oracle还会自动生成么
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2024-03-04 MySQL 查找并删除重复行