所谓内置函数(Built-in)是预先定义好的函数, 可以直接使用它们, 不需要编写导入语句。
它们为人们提供了一种非常方便的途径, 可以用来处理那些常见的任务事项, 这样一来, 代码的清晰程度得到了很大的提升, 也让开发者们省去了不少花费在开发上面的时间成本。
在这一章里面, 你将会去探索那些大家最常用到的内置函数是哪些东西。然后你要了解这些内置函数的功能到底是什么样子的。最后我们还要看看你该怎么把这些方法在实际的操作过程之中来好好的应用它们一番。
1. 基础函数
这些函数属于最基本的级别, 也就是说, 在几乎所有的程序里面都能够见到它们的身影并被使用到。
1.第1个方法是print函数, 它的作用是用来完成打印输出的操作。
这个叫做 print 的函数, 它的主要作用就是让那些个输出内容, 能够直接地显示到控制台上面去。
# print() 函数示例name = "Alice"
print("Hello,", name + "!") # 拼接字符串以打印问候语
age = 30
print("你今年", age, "岁。
") # 混合打印字符串和整数
print(f"明年,你将 {age + 1} 岁。") # 使用 f-strings 进行格式化输出
print()函数是可以接收多个参数的, 在默认情况下面, 它们之间会采用空格来进行分隔, 而F格式化字符串字面量是带有前缀f的, 它提供了一种非常简洁的实现方式, 能够把表达式直接嵌入到字符串里面去, 从而实现格式化的处理。
1.对于2来说, 可以通过使用函数的方法来获取长度的相关信息。
这个len()函数它会去返回一个序列的长度的, 所谓的序列, 就比如说有字符串, 还有列表, 或者是元祖, 等等这些类型, 它所返回的内容是这些序列里面的元素个数的多少。
# len() 函数示例my_string = "Python"
print(len(my_string)) # 输出: 6
my_list = [1, 2, 3, 4, 5]
print(len(my_list)) # 输出: 5
my_tuple = (10, 20, 30)
print(len(my_tuple)) # 输出: 3
这个叫做 len() 的函数非常通用, 它适用于各种各样的数据结构, 是人们用来确定数据大小的一种非常快捷的方式。
1.3 type():查看类型
type()函数会返回对象的具体类型信息。
# type() 函数示例x = 10
print(type(x)) # 输出:
y = 3.14
print(type(y)) # 输出:
z = "Hello"
print(type(z)) # 输出:
a = [1, 2, 3]
print(type(a)) # 输出:
在调试代码的过程之中, 以及了解那些当下正在被处理的数据的类型的时候, type()这个函数是能够提供很大帮助的。
1.使用input()函数可以获取用户的输入内容。
()这个函数是用来从用户那边读取一行输入的, 这里的输入指的是标准输入。
# input() 函数示例name = input("请输入你的名字: ")
print("你好,", name + "!")
age = input("请输入你的年龄: ")
age = int(age) # 将输入的字符串转换为整数
print("你今年", age, "岁。")
需要提示用户的是, input()这个函数会一直返回一个字符串类型的数据()。
假设用户在输入框里填了一个数字, 这个时候你还不能直接拿来就算数学题, 你得靠int()这种函数, 或者float()这种函数出手, 把这些文字形式的东西变成真正的数字模样去运行计算流程才行。这也就是所谓的第二种情况, 关于类型转换的那些事儿。
这些函数的实际用途在于, 将原本处于一种数据类型的值, 通过特定的处理手段, 转换到另一种不同的数据类型中去。
2.1 int():转换为整数
# int() 函数示例x = "10"
print(type(x)) # 输出:
y = int(x)
print(type(y)) # 输出:
print(int(3.14)) # 输出: 3 (截断小数部分)
print(int("1010", 2)) # 输出: 10 (将二进制字符串转换为十进制整数)
当使用 int()的时候, 它直接把浮点数的小数部分去掉, 这一点要特别注意, 它并不是去进行四舍五入的操作;另外, 对于包含不同进制数字的字符串, 例如二进制或者十六进制的字符串, 它也能把它们转换成十进制整数。
2.2 float(), 也就是把数值转换成浮点数。
# float() 函数示例x = "3.14"
print(type(x)) # 输出:
y = float(x)
print(type(y)) # 输出:
print(float(10)) # 输出: 10.0
当你需要对小数进行精确的数学计算时, float() 函数是必不可少的。
2.3 str():转换为字符串
# str() 函数示例x = 10
print(type(x)) # 输出:
y = str(x)
print(type(y)) # 输出:
print(str(3.14)) # 输出: "3.14"
print(str(True)) # 输出: "True"
在你有需要把数字还有别的类型的数据跟文字给拼到一起的时候, 或者是当你想要把不是文本的那种数据弄成文本的样子出现的时候, str()这个东西就成了关键的存在了。
2.4 bool():转换为布尔值
# bool() 函数示例print(bool(0)) # 输出: False
print(bool(1)) # 输出: True
print(bool("")) # 输出: False (空字符串)
print(bool("Hello")) # 输出: True
print(bool([])) # 输出: False (空列表)
print(bool([1, 2])) # 输出: True
bool()这个函数在条件语句以及逻辑操作这类场合里经常都会被用到, 它的转换规则具体是怎么样的, 就是当值为0、或者是空字符串""以及空的集合比如<> {}这些情况的时候, 计算结果为False, 而在其他含有内容的值的情况下, 则计算结果为True。
3. 数学运算函数
这些函数主要用来做一件特别普遍的事情, 那就是去执行一些基本的数学方面的计算操作。
3.1、abs函数, 这个功能是用来计算绝对值的。
print(abs(-10)) # 输出: 10print(abs(5)) # 输出: 5
print(abs(-3.14)) # 输出: 3.14
如果你想要确定某一个数值的正负情况, 并且还需要把这个数值变成绝对值的话, 那么就使用abs()这个函数是比较好的选择, 这样就会忽略掉原来的那个正号或者负号的含义。
3.2 pow():幂运算
print(pow(2, 3)) # 输出: 8 (2 的 3 次方)print(pow(5, 2)) # 输出: 25 (5 的 2 次方)
print(pow(10, -1)) # 输出: 0.1 (10 的 -1 次方)
pow(x, y) 这个函数的意思等同于 x , y。除此之外, 它还允许加入一个额外的参数, 用来实现模幂运算的操作, 该技术在密码学领域具有重要的实际意义。
3.关于第三个函数, 也就是round()的作用, 它主要是实现四舍五入的处理。
print(round(3.14159, 2)) # 输出: 3.14 (保留 2 位小数)print(round(3.14159)) # 输出: 3 (四舍五入到最接近的整数)
print(round(3.5)) # 输出: 4 (遇到 .5 时,向偶数舍入,即银行家舍入法)
round() 这个函数, 是允许你把那个数字呢,舍入到指定的那个小数位数的。
3.关于函数max()和函数min()的含义, 一个是用来寻找最大值, 一个是用来寻找最小值。
# max() 寻找最大值print(max(1, 2, 3, 4, 5)) # 输出: 5
print(max([1, 2, 3, 4, 5])) # 输出: 5
print(max("a", "b", "c")) # 输出: c (按字母顺序比较)
# min() 寻找最小值
print(min(1, 2, 3, 4, 5)) # 输出: 1
print(min([1, 2, 3, 4, 5])) # 输出: 1
print(min("a", "b", "c")) # 输出: a
这两个函数, 就是用来寻找集合里面或者是某一些值里面的极值, 也就是最大值以及最小值的这样的一些非常有用的工具。
4. 序列操作函数
这些函数, 主要是针对列表、元组以及字符串等序列类型, 所执行的那些操作。
4.1 sum(), 求和。
print(sum([1, 2, 3, 4, 5])) # 输出: 15print(sum((10, 20, 30))) # 输出: 60
print(sum([1, 2, 3], 10)) # 输出: 16 (列表的和,再加上起始值 10)
sum() 这个函数, 它的作用是返回可迭代对象里面所有元素的总和, 并且它可以接受一个可选的第二个参数来作为求和开始前的初始累加值。
4.把它进行排序处理, 然后返回一个新的列表。
numbers = [5, 2, 8, 1, 9]print(sorted(numbers)) # 输出: [1, 2, 5, 8, 9]
print(numbers) # 输出: [5, 2, 8, 1, 9] (原列表保持不变)
letters = "Python"
print(sorted(letters)) # 输出: ['P', 'h', 'n', 'o', 't', 'y']
print(sorted(numbers, reverse=True)) # 输出: [9, 8, 5, 2, 1] (降序排列)
跟那个列表里面自己带的 .sort() 这个方法对比起来看呢, () 这个东西是会返回一个已经排好顺序的新列表的, 至于原来那个序列是怎么样, 它就不会去改变了。还有一点是, 它可以利用等于True 这个操作来进行一个降序排列的设定。
4.第3个内容, 也就是标题为反转序列的这个部分。
numbers = [1, 2, 3, 4, 5]reversed_numbers = reversed(numbers)
print(list(reversed_numbers)) # 输出: [5, 4, 3, 2, 1]
letters = "Python"
reversed_letters = reversed(letters)
print("".join(reversed_letters)) # 输出: nohtyP
该操作能够返回一个逆序迭代器, 这个迭代器的具体表现通常是()格式的结果片段。在一般情况下, 大家需要对这个结果进行额外处理才能查看完整内容, 常见的做法是通过list函数将其转化成为一个标准的列表结构, 或者利用join方法来把这些元素重新拼接成字符串形式以便观察最终成效。
4.对于第四点, 即进行序列的枚举。
fruits = ["apple", "banana", "cherry"]for index, fruit in enumerate(fruits):
print(index, fruit)
# 输出:
# 0 apple
# 1 banana
# 2 cherry
这个操作在遍历序列的时候是非常有用的, 因为它可以同时返回元素对应的索引值以及元素的实际值, 这样就不用让你自己去手动地去维持一个用来计数的工具了。
5. 实用工具函数
这些函数, 它们为处理各种不同类别的辅助性琐碎工作事项, 提供了切实可用且重要的功能支持。
5.1 help(): 获取帮助文档。
# help(print) # 在控制台显示关于 print() 函数的官方帮助文档# help(len) # 显示关于 len() 函数的文档
当你在面对某个函数的具体使用方式抑或是模块的调用方法产生疑惑的时候, help()这个函数简直就是无价之宝。
5.这属于第二个部分, 也就是对类型进行检查的那个部分。
x = 10print(isinstance(x, int)) # 输出: True
print(isinstance(x, float)) # 输出: False
y = [1, 2, 3]
print(isinstance(y, list)) # 输出: True
print(isinstance(y, tuple)) # 输出: False
使用()来检查一个对象是否属于特定的类或类型。在动态类型的语言环境中, 这种做法非常适合于进行数据验证操作。
6. 实际案例与演示
以下将会联系具体的应用场景来展示, 如何去对这些内部提供的函数进行综合地使用。
6.第一个案例是计算平均值。
将sum()与len()放在一起结合起来使用。
numbers = [10, 20, 30, 40, 50]total = sum(numbers)
count = len(numbers)
average = total / count
print("平均值是:", average) # 输出: 平均值是: 30.0
6.第2个案例, 也就是用户输入和数学计算这块内容。
结合使用输入函数, 类型转换函数以及幂运算函数。
radius_str = input("请输入圆的半径: ")radius = float(radius_str) # 将字符串转换为浮点数
area = 3.14159 * pow(radius, 2) # 计算圆的面积
print("圆的面积是:", area)
6.这是案例三, 也就是关于如何去寻找那个数据集合里面的极端数值情况的这样一个内容。
把 max 和 min 这两个函数给结合起来使用一下。
numbers = [45, 12, 78, 3, 56]largest = max(numbers)
smallest = min(numbers)
print("最大数是:", largest) # 输出: 最大数是: 78
print("最小数是:", smallest) # 输出: 最小数是: 3