20 个 Python 函数的使用方法,你不容错过

本文介绍了Python的20个内置函数和方法,如reduce用于聚合操作,split用于字符串拆分,enumerate用于带索引的迭代,以及如何使用这些工具提高代码效率和可读性。通过熟悉和应用这些功能,程序员可以编写更简洁且强大的Python代码。
摘要由CSDN通过智能技术生成

Python 标准库包含许多可帮助您完成编程任务的函数。 了解最有用的并创建更健壮的代码。编写更少的代码是编写更具可读性的功能性程序的好方法。 您不应该浪费宝贵的时间来重新创建现成的 Python 函数或方法。 不过,如果您不熟悉 Python 的内置工具,您可能最终会这样做。

这里为您列出了宝贵的 Python 内置函数和方法,它们可以缩短您的代码并提高其效率。

Python 函数教程

1. reduce()

Python 的 reduce() 函数迭代列表中的每一项或任何其他可迭代数据类型,并返回单个值。 它是 Python 内置的 functools 类的方法之一。

下面是一个如何使用 reduce 的例子:

 

1
2
3
4
5
6

from functools import reduce
def add_num(a, b):
   return a+b
a = [1, 2, 3, 10]
print(reduce(add_num, a))
Output: 16

您还可以使用 reduce() 函数格式化字符串列表:

 

1
2
3
4
5
6

from functools import reduce
def add_str(a,b):
    return a+' '+b
a = ['I', 'Love', 'DaYanZai', '.', 'Me']
print(reduce(add_str, a))
Output: I Love DaYanZai.Me

2. split()

split() 函数根据设置的条件拆分字符串。 您可以使用它从 Web 表单中拆分字符串值。 或者您甚至可以使用它来计算一段文本中的单词数。

下面的示例代码在有空格的地方拆分列表:

 

1
2
3
4

words = "column1 column2 column3"
words = words.split(" ")
print(words)
Output: ['column1', 'column2', 'column3']

3.enumerate()

enumerate() 函数返回可迭代对象的长度并同时循环遍历其项。 因此,在以可迭代数据类型打印每个项目时,它同时输出其索引。

假设您希望用户查看您的数据库中可用的项目列表。 您可以将它们传递到列表中并使用 enumerate() 函数将其作为编号列表返回。

以下是使用 enumerate() 方法实现此目的的方法:

 

1
2
3
4
5
6
7

fruits = ["grape", "apple", "mango"]
for i, j in enumerate(fruits):
    print(i, j)
Output:
0 grape
1 apple
2 mango

然而,您可能已经浪费了使用以下方法来实现这一目标的宝贵时间:

 

1
2
3

fruits = ["grape", "apple", "mango"]
for i in range(len(fruits)):
    print(i, fruits[i])

除了速度更快之外,枚举列表还可以让您自定义编号项目的显示方式。

本质上,您可以决定从 1 开始编号,而不是从 0 开始,方法是包含一个 start 参数:

 

1
2
3
4
5
6

for i, j in enumerate(fruits, start=1):
    print(i, j)
Output:
1 grape
2 apple
3 mango

4. eval()

Python 的 eval() 函数允许您对整数或浮点数执行数学运算,即使是字符串形式。 如果数学计算采用字符串格式,通常会很有帮助。

这是它的工作原理:

 

1
2
3
4

g = "(4 * 5)/4"
d = eval(g)
print(d)
Output: 5.0

5. round()

您可以使用 round() 将数学运算的结果四舍五入为特定数量的有效数字:

 

1
2
3
4
5
6
7

raw_average = (4+5+7/3)
rounded_average=round(raw_average, 2)
print("原始平均值是:", raw_average)
print("四舍五入的平均值是:", rounded_average)
Output:
原始平均值是: 11.333333333333334
四舍五入的平均值是: 11.33

6. max()

max() 函数返回可迭代对象中排名最高的项目。 但是,请注意不要将其与最常出现的值混淆。

让我们使用 max() 函数打印下面字典中排名最高的值:

 

1
2
3

b = {1:"grape", 2:"apple", 3:"applesss", 4:"zebra", 5:"mango"}
print(max(b.values()))
Output: zebra

上面的代码按字母顺序排列字典中的项目并打印最后一个。

现在使用 max() 函数查看列表中的最大整数:

 

1
2
3

a = [1, 65, 7, 9]
print(max(a))
Output: 65

7. min()

min() 函数的作用与 max() 的作用相反:

 

1
2
3
4
5
6
7
8

fruits = ["grape", "apple", "applesss", "zebra", "mango"]
b = {1:"grape", 2:"apple", 3:"applesss", 4:"zebra", 5:"mango"}
a = [1, 65, 7, 9]
print(min(a))
print(min(b.values()))
Output:
1
apple

8. map()

与 reduce() 一样,map() 函数允许您迭代可迭代对象中的每个项目。 然而,map() 不是产生单个结果,而是独立地对每个项目进行操作。

最终,您可以使用 map() 函数对两个或多个列表执行数学运算。 您甚至可以使用它来操作包含任何数据类型的数组。

以下是如何使用 map() 函数查找包含整数的两个列表的组合总和:

 

1
2
3
4
5
6
7
8
9

b = [1, 3, 4, 6]
a = [1, 65, 7, 9]
# 声明一个单独的函数来处理加法:
def add(a, b):
    return a+b
# 将函数和两个列表传递给内置的 map() 函数:
a = sum(map(add, b, a))
print(a)
Output: 96

9. getattr()

Python 的 getattr() 返回对象的属性。 它接受两个参数:类和目标属性名称。

下面是一个例子:

 

1
2
3
4
5
6
7
8

class ty:
    def __init__(self, number, name):
        self.number = number
        self.name = name
a = ty(5*8, "Idowu")
b = getattr(a, 'name')
print(b)
Output:Idowu

10.append()

无论您是深入研究 Web 开发还是使用 Python 进行机器学习,append() 都是您经常需要的另一种 Python 方法。 它的工作原理是将新数据写入列表而不覆盖其原始内容。

下面的示例将整数范围内的每个项目乘以 3 并将它们写入现有列表:

 

1
2
3
4
5
6
7

nums = [1, 2, 3]
appendedlist = [2, 4]
for i in nums:
    a = i*3
    appendedlist.append(a)
print(appendedlist)
Output:[2, 4, 3, 6, 9]

11.range()

您可能已经熟悉 Python 中的 range()。 如果您想创建一个范围在特定数字之间的整数列表而不明确写出它们,这会很方便。

让我们使用这个函数创建一个 1 到 5 之间的奇数列表:

 

1
2
3
4
5
6
7

a = range(1, 6)
b = []
for i in a:
    if i%2!=0:
        b.append(i)
print(b)
Output: [1, 3, 5]

12.slice()

尽管 slice() 函数和传统的 slice 方法给出了相似的输出,但在代码中使用 slice() 可以使其更具可读性。

您可以使用 slice 方法对任何可变的可迭代对象进行切片:

 

1
2
3
4
5
6
7
8

b = [1, 3, 4, 6, 7, 10]
st = "Python 教程"
sliceportion = slice(0, 4)
print(b[sliceportion])
print(st[sliceportion])
Output:
[1, 3, 4, 6]
Pyth

当您使用下面的传统方法时,上面的代码给出了类似的输出:

 

1
2

print(b[0:4])
print(st[0:4])

13.format()

format() 方法可让您操作字符串输出。 这是它的工作原理:

 

1
2
3
4
5
6
7

multiple = 5*2
multiple2 = 7*2
a =  "{} 是 5 和 2 的倍数,但 {} 是 7 和 2 的倍数"
a = a.format(multiple, multiple2)
print(a)
Output:
10 是 5 和 2 的倍数,但 14 是 7 和 2 的倍数

14.strip()

Python 的 strip() 从字符串中删除前导字符。 如果第一个字符与提供的任何字符匹配,它会重复从字符串中删除第一个字符。

如果不指定字符,strip 将从字符串中删除所有前导空白字符。

下面的示例代码从字符串中删除字母 P 和它前面的空格:

 

1
2
3
4

st = " Python 教程"
st = st.strip(" P")
print(st)
Output: ython 教程

您可以将 (” P”) 替换为 (“P”) 以查看会发生什么。

15.abs()

你想消除负面的数学输出吗? 然后尝试 abs() 函数。 它可以在计算编程或数据科学操作中派上用场。

请参阅下面的示例了解其工作原理:

 

1
2
3
4

neg = 4 - 9
pos = abs(neg)
print(pos)
Output: 5

16. upper()

顾名思义,upper() 方法将字符串字符转换为它们的大写等价物:

 

1
2
3
4

y = "Python tutorial"
y = y.upper()
print(y)
Output: PYTHON TUTORIAL

17. lower()

你猜对了! Python 的 lower() 与upper() 相反。 所以它将字符串字符转换为小写:

 

1
2
3
4

y = "PYTHON TUTORIAL"
y = y.lower()
print(y)
Output: python tutorial

18. sorted()

sorted() 函数的工作原理是从可迭代对象中创建一个列表,然后按降序或升序排列其值:

 

1
2
3
4
5
6
7

f = {1, 4, 9, 3} # 尝试在一个集
sort = {"G":8, "A":5, "B":9, "F":3} # 尝试在一个字典
print(sorted(f, reverse=True)) # Descending
print(sorted(sort.values())) # Ascending (default)
Output:
[9, 4, 3, 1]
[3, 5, 8, 9]

19. join()

join() 函数可让您合并列表中的字符串项。

您只需要指定一个分隔符和目标列表即可使用它:

 

1
2
3
4

a = ["Python", "教程", "在", "DaYanZai.Me"]
a = " ".join(a)
print(a)
Output: Python 教程在 DaYanZai.Me

20.replace()

Python 的 replace() 方法允许您用另一个字符替换字符串的某些部分。 它在数据科学中通常很方便,尤其是在数据清理期间。

replace() 方法接受两个参数:被替换的字符和您想要替换的字符。

这是它的工作原理:

 

1
2
3
4
5
6
7
8

columns = ["Cart_name", "First_name", "Last_name"]
for i in columns:
    i = i.replace("_", " ")
    print(i)
Output:
Cart name
First name
Last name

继续学习构建 Python 的强大功能

作为一种已编译的、更高级的编程语言,拥有广泛的社区支持,Python 不断接收许多额外的函数、方法和模块。 虽然我们在这里介绍了大多数流行的功能,但研究正则表达式等功能并深入研究它们在实践中的工作方式,将帮助您跟上 Python 的发展步伐。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

执刀人的工具库

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

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

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

打赏作者

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

抵扣说明:

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

余额充值