Python中最常用的10个内置函数
人生苦短,快学Python!
之前我们曾经在公众号中分享过Python中堪称神仙的6个内置函数,它们在很多计算机书籍中通常作为高阶函数来介绍。而今天我想介绍的是一些开箱即用的常见内置函数,它们更应该被熟练掌握和使用。
help()
第一个常用的内置函数其实是help()
函数,它可以帮助我们查看函数或模块用途的详细说明。
如果平时使用Jupyter Notebook运行Python代码,也可以使用Shift+Tab
的快捷键组合查看函数的简单说明
。若需要查看函数的详细说明可以在函数后面加上英文问号“?”后点击运行,与help()
函数效果一致。
range()
range()
函数返回一个可迭代对象,通常与list()
函数或者for循环语句搭配使用。其语法格式如下图所示:
用几个例子帮大家理解,在交互式环境中输入如下命令:
list(range(10))
输出:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
在交互式环境中输入如下命令:
list(range(0, 10, 2))
输出:
[0, 2, 4, 6, 8]
sorted()
sorted()函数对所有可迭代的对象进行排序操作。在交互式环境中输入如下命令:
sorted([2, 4, 0, 8, 6])
sorted((2, 4, 0, 8, 6))
sorted({2: 'bb', 4: 'cc', 0: 'aa', 8: 'ee', 6: 'dd'})
输出结果:
sorted()
函数和sort()
函数是有一定区别的:sortt()是应用在列表list上的方法,而sorted可以对所有可迭代的对象进行排序操作。
列表list的sort()方法返回的是对已经存在的列表进行操作,而内置函数
sorted()
返回的是一个新的list,而不是在原来的基础上进行的操作。
eval()
在Python中,eval()
函数用来执行一个字符串表达式,并返回表达式的值。其语法格式如下图所示:
用几个例子帮大家理解,在交互式环境中输入如下命令:
eval("pow(3,3)")
num = 1
eval("num + 2")
输出结果:
input()
在Python中,我们经常希望自己的程序能够实现交互行为,所以学了基础知识后还需继续学习GUI或者web开发等等。
但实际上,Python的内置函数中input()
就可以帮助我们实现最简单的交互行为。input()
函数接受一个标准输入数据,返回为 string 类型。在交互式环境中输入如下命令:
name = input("输入你的名字: ")
print(f"欢迎你,{name}!")
运行结果如下图所示:
abs()
abs()
函数中的abs是 absolute 的缩写,它会返回数字的绝对值。在交互式环境中输入如下命令:
abs(-555)
输出:
555
round()
round()
是又一个处理数值的内置函数,它返回浮点数x的四舍五入值。在交互式环境中输入如下命令:
round(99.95)
输出:
100
在交互式环境中输入如下命令:
round(100.04)
输出:
100
any()
any()
函数用于判断给定的可迭代参数iterable是否全部为False,则返回False,如果有一个为True,则返回True。在我自己的实际应用中,通常与列表一起使用,
在交互式环境中输入如下命令:
any([True, False, True])
输出:
True
any()
函数也可以用于检查空列表:
any([])
输出:
False
当然,用len(list)
是否大于0来检查空列表是个更好的选择。
format()
python2.5版本之前,我们使用的是老式字符串格式化输出%s
。
从python3.0版本开始起(python2.6同期发布),Python中同时支持两个版本的格式化,多出来的一个新版本就是利用format()
函数,进行格式化输出。在Python中,我们经常使用format()
函数对文本、数字进行格式化。在交互式环境中输入如下命令:
"人生苦短,快学{}!".format("Python")
print("{:.2%}".format(0.123456789))
输出结果如下图所示:
但是python3.6版本后,又引入了一种新的字符串格式化方式f-string。从%s格式化到format格式化再到f-string格式化,格式化的方式越来越直观,f-string的效率也较前两个高一些,使用起来也比前两个更简单一些。
不过还是建议大家学习使用format()
函数,关于Python的3种字符串格式化的对比,可以参考之前的文章!
Python 中的一个对数据科学应用程序肯定非常有用的函数是 format() 方法。此方法可用于使用简单的字符将任何值放入给定格式。例如,我们可以使用以下语法将 0.5 的值转换为百分比:
x = .5
fifty_percent = format(x, '%')
我对这个函数的唯一问题,更具体地说——它在数据科学中的应用——是这个新格式化值的数据类型没有保留。我认为这在某种程度上破坏了这个函数的价值。例如,如果我们的值被转换为百分比类型,那也很好,但看看我们得到的类型:
print(type(fifty_percent))
print(fifty_percent)
<class 'str'>
50.000000%
然而,有一点缺点,当然还有很多情况下这个函数可以派上用场——而且在基础 Python 中,它当然值得了解。
reversed()
reversed()
函数返回一个反转的迭代器,要转换的序列,可以是元祖、字符串、列表或者range。
在交互式环境中输入如下命令:
# 列表
aa = [1, 2, 4, 3, 5]
list(reversed(aa))
...
输出结果如下所示,均进行了翻转
小结
人生苦短,快学Python!Python作为最适合初学者直接上手的语言,提供了很多的内置函数,虽然这些内置函数并没有广为人知,但他们却具有非常强大的功能。
大家可以多使用Python的内置函数,既能提高自己的Python程序速度,同时还能保持代码简洁易懂。此外,想了解内置函数中Lambda
、Map
、Reduce
、enumerate
、Zip
、Filter
等高级函数具体用法的同学,可以查看之前的文章。
推荐阅读
新书上市
《算力:数字经济的新引擎》
互联网的普及,大数据、云计算、5G、人工智能、区块链等技术的成熟,促成了数字经济的大繁荣。以计算能力为基础,万物感知、万物互联、万物智能的数字经济新时代正在到来。数据量呈爆发式增长,对算力的需求达到空前高度,算力成为数字经济的新引擎。