网站首页 > 基础教程 正文
Python中,函数是组织好的、可重用的、用来执行一个特定任务的代码块。函数提高了代码的模块化和代码重用率。函数是一种将代码块组织在一起以便重复使用的工具。函数可以接受输入数据,并返回输出数据。
1、定义函数
使用关键字 def 来定义函数。函数结构包括函数名、参数列表和函数体。def 后跟函数名和圆括号()。圆括号中可以包含参数,函数的代码块则以冒号:开始,并且缩进。
def sayHello():
print("Hello World!")
#调用函数
sayHello()
2、向函数传递参数
函数可以有参数,这些参数作为输入,函数可以使用这些输入值执行某些任务。
def sayHello(name):
print("Hello, " + name.title() + "!")
#调用函数
sayHello("jack")
1)位置参数
常见的参数传递方式。参数的值是根据它们在函数定义中的位置来传递的。
2)关键字参数
函数调用时,可以通过“键=值”的形式指定参数。这样做的优点是代码可读性更强,且参数的顺序可以与定义时不同。
3)默认参数
在函数定义时,可以为参数提供默认值。如果调用时未传递该参数,则使用默认值。
4)可变参数(*args)
在函数定义时,可以为参数提供默认值。如果调用时未传递该参数,则使用默认值。
5)使用示例
def greet(name, message="Good day!"):
print(f"Hello, {name}, {message}")
def greet_all(*names):
for name in names:
print(f"Hello, {name}")
def greet_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
# 调用示例
greet("Levi") # 使用默认参数
greet(name="John", message="Good morning!") # 使用关键字参数
greet_all("C", "Java", "Python") # 使用可变数量的位置参数
greet_info(name="CJavaPy", age=25, city="Shanghai") # 使用可变数量的关键字参数
3、函数返回值
函数是组织代码的一种方式,可以将代码块封装起来,并在需要的时候调用它。函数可以返回值,通过return语句实现的。返回值是函数执行结束时返回给调用者的值。
1)使用return语句
函数可以通过return语句返回一个值。如果不使用return语句,或者return后面没有任何表达式,则默认返回None。
def sum(a, b):
return a + b
result = sum(5, 3) # result为8
2)返回多个值
Python中的函数可以返回多个值,一般是通过返回一个元组实现的。
def get_user():
name = "Levi"
age = 30
return name, age
user_name, user_age = get_user()
3)无返回值
如果函数没有返回值(即没有return语句,或者return后面没有跟任何值),它会默认返回None。
def print_message(message):
print(message)
result = print_message("Hello, www.cjavapy.com")
4、传递列表
函数可以接受各种类型的参数,包括列表。当将列表作为参数传递给函数时,实际上是传递了对该列表的引用。在函数内部对列表所做的任何修改都会反映到原始列表上。因为列表是可变的数据类型。
1)定义一个函数,修改传递的列表
def modify_list(lst):
"""在列表末尾添加一个元素"""
lst.append("new element")
# 创建一个列表
my_list = [1, 2, 3]
# 调用函数,传递列表
modify_list(my_list)
# 输出修改后的列表
print(my_list) # 输出: [1, 2, 3, 'new element']
2)传递列表副本
def process_list(lst):
"""处理列表,但不修改原始列表"""
# 使用列表副本进行操作
lst_copy = lst.copy() # lst.copy() 进行复制,也可以在传递参数时 通过切片[:] 创建列表的副本时进行传参
lst_copy.append("processed")
return lst_copy
# 创建一个列表
original_list = [1, 2, 3]
# 调用函数,传递列表副本
new_list = process_list(original_list)
# 输出原始列表和新列表
print("Original List:", original_list) # 原始列表保持不变
print("New List:", new_list) # 新列表包含修改
参考文档:https://www.cjavapy.com/article/49/
猜你喜欢
- 2024-11-16 「python实现」01两数之和(python计算两数之和,并写入文件)
- 2024-11-16 python实战技巧之两个字典,如何实现键同值相加「不等长或等长」
- 2024-11-16 Python 基础——运算符之算术运算符
- 2024-11-16 Python函数(python函数怎么写)
- 2024-11-16 Python入门编程题库37--计算每一行的总和、平均值
- 2024-11-16 两分钟掌握Python 函数(python函数教程)
- 2024-11-16 python元组表达式和方法(python元组的方法)
- 2024-11-16 Python入门编程题库40--列表求和(列表数据求和python)
- 2024-11-16 Python显式循环、列表推导式、sum 函数、集合操作与并行处理用法
- 2024-11-16 Python Pandas DataFrame 对某一列求和
- 06-18单例模式谁都会,破坏单例模式听说过吗?
- 06-18Objective-c单例模式的正确写法「藏」
- 06-18单例模式介绍(单例模式都有哪些)
- 06-18前端设计-单例模式在实战中的应用技巧
- 06-18PHP之单例模式(php单例模式连接数据库)
- 06-18设计模式:单例模式及C及C++实现示例
- 06-18python的单例模式(单例 python)
- 06-18你认为最简单的单例模式,东西还挺多
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- 单例 (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)