Python基础入门掌握(十)

内置函数

 

目录

内置函数概述

常用内置函数及示例

总结‍

1. 内置函数概述

内置函数是Python语言预先定义好的函数,可以直接调用,无需额外导入模块。它们涵盖了数据类型转换、数学运算、字符串处理、列表操作等多个方面,极大地简化了编程过程。掌握这些内置函数,可以帮助我们更高效地编写代码。

2. 常用内置函数及示例

示例1:len() —— 获取对象长度

len()函数用于获取字符串、列表、元组、字典等对象的长度。

应用场景:

统计字符串或列表的长度。

# 获取字符串长度text = "Hello, Python!"length = len(text)print(f"字符串的长度是:{length}")
# 获取列表长度numbers = [1, 2, 3, 4, 5]length = len(numbers)print(f"列表的长度是:{length}")

输出:

字符串的长度是:13

列表的长度是:5

解析:

len()函数返回对象的长度,适用于多种数据类型。

 

示例2:type() —— 获取变量类型

type()函数用于获取变量的数据类型。

应用场景:

检查变量是否为特定类型。​​​​​​​

# 检查变量类型a = 10b = "Hello"c = [1, 2, 3]print(f"a 的类型是:{type(a)}")print(f"b 的类型是:{type(b)}")print(f"c 的类型是:{type(c)}")

输出:

a 的类型是:

b 的类型是:

c 的类型是:

解析:

type()函数返回变量的类型,常用于调试和类型检查。

 

示例3:print() —— 输出内容

print()函数用于将内容输出到控制台。

应用场景:

在程序中输出调试信息或结果。

​​​​​​​

# 输出字符串print("Hello, World!")# 输出多个变量name = "Alice"age = 25print(f"姓名:{name}, 年龄:{age}")

输出:

Hello, World!

姓名:Alice, 年龄:25

解析:

print()函数支持多种格式化方式,方便输出不同类型的变量。

 

示例4:range() —— 生成数字序列

range()函数用于生成一个数字序列,常用于循环中。

应用场景:

在循环中生成连续的数字。​​​​​​​

# 使用 range() 生成数字序列for i in range(5):        print(i, end=" ")

输出:

0 1 2 3 4

解析:

range()函数生成从0到n-1的数字序列,也可以指定起始值和步长。

 

示例5:sum() —— 求和

sum()函数用于计算可迭代对象(如列表、元组)中所有元素的总和。

应用场景:

计算一组数字的总和。​​​​​​​

# 计算列表的总和numbers = [1, 2, 3, 4, 5]total = sum(numbers)print(f"列表的总和是:{total}")

输出:

列表的总和是:15

解析:

sum()函数可以直接对列表中的数字进行求和。

 

示例6:max() 和 min() —— 求最大值和最小值

max()和min()函数分别用于获取可迭代对象中的最大值和最小值。

应用场景:

找出一组数据中的最大值或最小值。​​​​​​​

# 获取最大值和最小值numbers = [10, 20, 30, 40, 50]max_value = max(numbers)min_value = min(numbers)print(f"最大值是:{max_value}")print(f"最小值是:{min_value}")

输出:

最大值是:50

最小值是:10

解析:

max()和min()函数可以直接对列表中的元素进行比较。

 

示例7:sorted() —— 排序

sorted()函数用于对可迭代对象进行排序,并返回一个新的列表。

应用场景:

对一组数据进行排序。​​​​​​​

# 对列表进行排序numbers = [3, 1, 4, 1, 5, 9, 2, 6]sorted_numbers = sorted(numbers)print(f"排序后的列表:{sorted_numbers}")

输出:

排序后的列表:[1, 1, 2, 3, 4, 5, 6, 9]

解析:

sorted()函数返回一个新的排序后的列表,原列表保持不变。

 

示例8:map() —— 映射

map()函数用于对可迭代对象中的每个元素应用一个函数,并返回一个新的可迭代对象。

应用场景:

对一组数据进行批量处理。​​​​​​​

# 使用 map() 对列表中的每个元素求平方numbers = [1, 2, 3, 4, 5]squared = map(lambda x: x ** 2, numbers)print(f"平方后的结果:{list(squared)}")

输出:

平方后的结果:[1, 4, 9, 16, 25]

解析:

map()函数将一个函数应用于列表中的每个元素,并返回结果。

 

示例9:filter() —— 过滤

filter()函数用于根据条件过滤可迭代对象中的元素,并返回一个新的可迭代对象。

应用场景:

从一组数据中筛选符合条件的元素。​​​​​​​

# 使用 filter() 筛选出列表中的偶数numbers = [1, 2, 3, 4, 5, 6]even_numbers = filter(lambda x: x % 2 == 0, numbers)print(f"筛选后的偶数:{list(even_numbers)}")

输出:

筛选后的偶数:[2, 4, 6]

解析:

filter()函数根据条件筛选出符合条件的元素。

 

示例10:zip() —— 合并迭代器

zip()函数用于将多个可迭代对象的元素打包成元组,并返回一个新的可迭代对象。

应用场景:

将多个列表或元组的元素组合在一起。​​​​​​​

# 使用 zip() 合并两个列表names = ["Alice", "Bob", "Charlie"]ages = [25, 30, 35]combined = zip(names, ages)print(f"合并后的结果:{list(combined)}")

输出:

合并后的结果:[('Alice', 25), ('Bob', 30), ('Charlie', 35)]

解析:

zip()函数将两个列表的元素一一对应组合成元组。

 

示例11:enumerate() —— 添加索引

enumerate()函数用于在可迭代对象中添加索引,返回一个包含索引和元素的枚举对象。

应用场景:

在循环中同时获取元素和索引。​​​​​​​

# 使用 enumerate() 在循环中获取索引和元素fruits = ["apple", "banana", "cherry"]for index, fruit in enumerate(fruits):        print(f"索引:{index}, 元素:{fruit}")

输出:

索引:0, 元素:apple

索引:1, 元素:banana

索引:2, 元素:cherry

解析:

enumerate()函数为每个元素添加索引,方便在循环中使用。

 

示例12:input() —— 用户输入

input()函数用于从用户获取输入。

应用场景:

在交互式程序中获取用户输入。​​​​​​​

# 获取用户输入name = input("请输入您的名字:")print(f"您好,{name}!")

输出:

请输入您的名字:Alice

您好,Alice!

解析:

input()函数将用户输入的内容作为字符串返回。

 

示例13:int()、float()、str() —— 类型转换

int()、float()、str()函数用于将变量转换为整数、浮点数或字符串。

应用场景:

在需要不同数据类型时进行类型转换。​​​​​​​

# 类型转换text = "123"number = int(text)  # 转换为整数print(f"转换为整数:{number}")decimal = float(text)  # 转换为浮点数print(f"转换为浮点数:{decimal}")text_again = str(number)  # 转换为字符串print(f"转换为字符串:{text_again}")

输出:

转换为整数:123

转换为浮点数:123.0

转换为字符串:123

解析:

这些函数可以将变量从一种类型转换为另一种类型。

 

示例14:abs() —— 绝对值

abs()函数用于计算一个数的绝对值。

应用场景:

在数学计算中获取绝对值。​​​​​​​

# 计算绝对值number = -10absolute_value = abs(number)print(f"{number} 的绝对值是:{absolute_value}")

输出:

-10 的绝对值是:10

解析:

abs()函数返回一个数的绝对值。

 

示例15:round() —— 四舍五入

round()函数用于对浮点数进行四舍五入。

应用场景:

在需要精确计算时对浮点数进行四舍五入。​​​​​​​

# 四舍五入number = 3.14159rounded_number = round(number, 2)print(f"四舍五入后的结果:{rounded_number}")

输出:

四舍五入后的结果:3.14

解析:

round()函数可以根据指定的小数位数进行四舍五入

匿名函数

目录

匿名函数简介

匿名函数的语法

匿名函数的典型应用场景

代码示例与解析

匿名函数的注意事项

总结‍

1. 匿名函数简介

匿名函数(Lambda函数)是一种没有函数名的函数。它通常用于定义简单的、一次性使用的函数逻辑,尤其是在需要快速传递函数作为参数的场景中。匿名函数的语法简洁,执行效率高,是Python编程中一个非常实用的特性。

2. 匿名函数的语法

匿名函数使用lambda关键字定义,其基本语法如下:

lambda 参数1, 参数2, ...: 表达式

匿名函数可以有多个参数,但只能有一个表达式。

表达式的结果就是匿名函数的返回值。‍

3. 匿名函数的典型应用场景

作为函数的参数:在高阶函数(如map()、filter()、sorted()等)中传递匿名函数。

简化代码:用于简单的逻辑,避免定义完整的函数。

局部使用:在特定的上下文中快速定义函数逻辑,无需重复定义。

4. 代码示例与解析

示例1:使用匿名函数计算平方

应用场景:

快速定义一个计算平方的函数。​​​​​​​

square = lambda x: x ** 2result = square(5)print(f"5的平方是:{result}")

输出:

5的平方是:25

解析:

匿名函数lambda x: x ** 2定义了一个简单的平方计算逻辑。

 

示例2:匿名函数作为map()的参数

应用场景:

对列表中的每个元素进行操作。​​​​​​​

numbers = [1, 2, 3, 4, 5]squared_numbers = list(map(lambda x: x ** 2, numbers))print(f"平方后的列表:{squared_numbers}")

输出:

平方后的列表:[1, 4, 9, 16, 25]

解析:

map()函数接受一个匿名函数作为参数,对列表中的每个元素进行平方操作。

 

示例3:匿名函数作为filter()的参数

应用场景:

筛选出符合条件的元素。​​​​​​​

numbers = [1, 2, 3, 4, 5, 6]even_numbers = list(filter(lambda x: x % 2 == 0, numbers))print(f"筛选后的偶数:{even_numbers}")

输出:

筛选后的偶数:[2, 4, 6]

解析:

filter()函数使用匿名函数筛选出列表中的偶数。

 

示例4:匿名函数作为sorted()的参数

应用场景:

根据特定条件对数据进行排序。​​​​​​​

people = [("Alice", 25), ("Bob", 30), ("Charlie", 20)]sorted_people = sorted(people, key=lambda x: x[1])print(f"按年龄排序后的结果:{sorted_people}")

输出:

按年龄排序后的结果:[('Charlie', 20), ('Alice', 25), ('Bob', 30)]

解析:

sorted()函数通过匿名函数指定排序的键值为年龄。

 

示例5:匿名函数实现简单的加法

应用场景:

快速定义一个简单的加法逻辑。​​​​​​​

add = lambda a, b: a + bresult = add(3, 5)print(f"3 + 5 的结果是:{result}")

输出:

3 + 5 的结果是:8

解析:

匿名函数lambda a, b: a + b定义了一个简单的加法逻辑。

 

示例6:匿名函数在reduce()中的应用

应用场景:

对列表中的元素进行累积操作。​​​​​​​

from functools import reducenumbers = [1, 2, 3, 4, 5]total = reduce(lambda x, y: x + y, numbers)print(f"列表的总和是:{total}")

输出:

列表的总和是:15

解析:

reduce()函数通过匿名函数将列表中的元素逐个相加。

 

示例7:匿名函数作为高阶函数的参数

应用场景:

在自定义的高阶函数中传递匿名函数。​​​​​​​

def apply_function(func, value):        return func(value)result = apply_function(lambda x: x * 2, 10)print(f"10的两倍是:{result}")

输出:

10的两倍是:20

解析:

匿名函数lambda x: x * 2作为参数传递给高阶函数apply_function。

 

示例8:匿名函数实现条件判断

应用场景:

根据条件返回不同的结果。​​​​​​​

check_age = lambda age: "成年" if age >= 18 else "未成年"result = check_age(17)print(f"17岁的状态是:{result}")

输出:

17岁的状态是:未成年

解析:

匿名函数通过条件表达式返回不同的结果。

 

示例9:匿名函数在字典排序中的应用

应用场景:

根据字典的某个键值进行排序。​​​​​​​

people = [{"name": "Alice", "age": 25}, {"name": "Bob", "age": 30}, {"name": "Charlie", "age": 20}]sorted_people = sorted(people, key=lambda x: x["age"])print(f"按年龄排序后的结果:{sorted_people}")

输出:

按年龄排序后的结果:[{'name': 'Charlie', 'age': 20}, {'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}]

解析:

匿名函数指定排序的键值为age。

 

示例10:匿名函数实现简单的字符串操作

应用场景:

对字符串进行简单的格式化。​​​​​​​

format_name = lambda first, last: f"{first} {last}"result = format_name("Alice", "Smith")print(f"格式化后的名字:{result}")

输出:

格式化后的名字:Alice Smith

解析:

匿名函数lambda first, last: f"{first} {last}"将两个字符串拼接成一个完整的姓名。

 

示例11:匿名函数在事件处理中的应用

应用场景:

在图形界面或事件处理中快速定义回调函数。​​​​​​​

def handle_event(callback):      print("事件触发")      callback()handle_event(lambda: print("这是一个匿名函数回调"))

输出:

事件触发

这是一个匿名函数回调

解析:

匿名函数作为回调函数传递给handle_event。

 

示例12:匿名函数实现简单的数学运算

应用场景:

快速定义一个简单的数学运算逻辑。​​​​​​​

multiply = lambda x, y: x * yresult = multiply(4, 5)print(f"4乘以5的结果是:{result}")

输出:

4乘以5的结果是:20

解析:

匿名函数lambda x, y: x * y定义了一个简单的乘法逻辑。‍

5. 匿名函数的注意事项

功能限制:匿名函数只能包含一个表达式,不能包含复杂的逻辑。

可读性:虽然匿名函数简洁,但在逻辑复杂时,建议使用普通函数以提高代码可读性。

命名:虽然匿名函数没有名字,但可以通过变量名来引用它,方便调试和理解。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员的世界你不懂

你的鼓励将是我创造的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值