专业编程基础技术教程

网站首页 > 基础教程 正文

Python中的函数用法(Python中的函数用法)

ccvgpt 2024-11-16 17:29:11 基础教程 8 ℃

Python中,函数是组织好的、可重用的、用来执行一个特定任务的代码块。函数提高了代码的模块化和代码重用率。函数是一种将代码块组织在一起以便重复使用的工具。函数可以接受输入数据,并返回输出数据。


Python中的函数用法(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/

Tags:

最近发表
标签列表