python核心之函数

 目录

引言

函数的目的

定义函数

调用函数

参数

返回值

默认参数

关键字参数

可变参数

匿名函数


引言

Python 中的函数是一段组织好的、可重复使用的、用来实现单一或相关联功能的代码块。函数能提高应用的模块性,和代码的重复利用率。Python 提供了许多内置函数,比如 print(),但也可以创建自己的函数,这被称为用户自定义函数。

函数的目的

减少重复代码的编写,提升代码的复用。

目的: 封装一定的功能,比如系统print就封装了打印函数

定义函数

使用 def 关键字来定义一个函数,后面跟着函数名和圆括号 (),括号中可以包含一些变量名(即参数),用于接收传入的数据。然后,你可以通过冒号 : 开始一个缩进的代码块,该代码块包含函数体。

def my_function():  
    print("Hello, this is a function.")

调用函数

定义函数后,可以通过函数名加上圆括号来调用它。如果函数有参数,你可以在圆括号中传入相应的值。

my_function()  # 调用函数,输出: Hello, this is a function.

参数

函数可以定义参数,这些参数在函数被调用时接收值。

def greet(name):  
    print("Hello, " + name + "!")  
  
greet("Alice")  # 输出: Hello, Alice!

返回值

函数可以通过 return 语句返回一个值。return 语句可以结束函数的执行,并将控制权返回给函数被调用的地方。

def sum_two_numbers(a, b):  
    return a + b  
  
result = sum_two_numbers(5, 3)  
print(result)  # 输出: 8

默认参数

可以为参数设置默认值,这样在调用函数时,如果没有为这些参数提供值,就会使用默认值。

def greet(name, greeting="Hello"):  
    print(greeting + ", " + name + "!")  
  
greet("Bob")  # 输出: Hello, Bob!  
greet("Eve", "Hi")  # 输出: Hi, Eve!

关键字参数

在调用函数时,可以使用关键字参数的形式来明确指定哪个参数接收哪个值。这可以提高代码的可读性,并且允许函数调用时参数的顺序与函数定义中的顺序不同。

def greet(greeting, name):  
    print(f"{greeting}, {name}!")  
  
# 使用关键字参数  
greet(name="Charlie", greeting="Hey")

可变参数

使用 *args 和 **kwargs 来允许函数接收任意数量的参数。*args 用于接收任意数量的位置参数(非键值对),而 **kwargs 用于接收任意数量的关键字参数(键值对)。

def my_function(*args):  
    for arg in args:  
        print(arg)  
  
my_function(1, 2, 3)  # 输出: 1 2 3  
  
def another_function(**kwargs):  
    for key, value in kwargs.items():  
        print(f"{key}: {value}")  
  
another_function(first="Alice", second="Bob")  # 输出: first: Alice second: Bob

匿名函数

匿名函数是一种没有具体名称的函数,在Python中通常被称为lambda函数。

定义:匿名函数是一种简洁的定义函数的方式,它允许你快速定义一个小的、一次性的函数对象,而不需要显式地为其命名。

语法:在Python中,匿名函数使用lambda关键字来定义,其基本语法为lambda arguments: expression。其中,arguments是函数的参数(可以是一个或多个,用逗号分隔),expression是函数的返回值(即函数体,只能是一个表达式,不能包含多个语句或复杂控制流)。

# 使用匿名函数过滤偶数  
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]  
even_numbers = filter(lambda x: x % 2 == 0, numbers)  
print(list(even_numbers))  # 输出: [2, 4, 6, 8, 10]  
  
# 使用匿名函数将列表中的数字转换为它们的平方  
numbers = [1, 2, 3, 4, 5]  
squared_numbers = map(lambda x: x ** 2, numbers)  
print(list(squared_numbers))  # 输出: [1, 4, 9, 16, 25]  
  
# 使用匿名函数对列表中的字符串按长度排序  
words = ['apple', 'banana', 'orange', 'strawberry']  
sorted_words = sorted(words, key=lambda x: len(x))  
print(sorted_words)  # 输出: ['apple', 'banana', 'orange', 'strawberry']

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值