学径 LearnPath

CAICP-E · Python 编程基础 / Wiki

内置函数

Python 已经做好的帮手,拿来就能用。

它是什么

内置函数 是现成工具。 不用自己写 def。 直接喊名字,加上括号。

Python 希望常用的小事不必每次从头发明。 求绝对值、数个数、排个序,语言把它们准备好,放进「开机就有」的工具箱。

自己做的 函数 和内置函数用法相似: 喊名字、加括号、看返回值。

名字从哪来

内置的英文是 built-in,意思是「造在里面的」。 和「后来才安装的」相对。

很多语言都有类似工具箱。 C 语言要 #include 才有一部分数学函数。 Python 把最常用的一批直接放在 builtins 模块里,启动就能用。

printinputintlen 都在这个箱子里。 它们看起来像命令,其实都是函数。

帮手很多,不必背完。 先认识一批最常用的就够。

它怎么工作

每个函数都要想:括号里放什么?出来是什么?

函数本事例子
abs绝对值abs(-5)5
round四舍五入round(3.6)4
pow乘方pow(2, 3)8
min最小min(3, 1, 2)1
max最大max([3, 9])9
sum求和sum([1, 2, 3])6
len长度或个数len("你好")2
range整数序列range(3) → 0、1、2
sorted新的排好序的列表sorted([3, 1])[1, 3]
type询问类型type(3)int
int / float / str类型转换int("12")12

round(3.14159, 2) 可以留两位小数。 pow(2, 3)2 ** 3 都是 8。

range 常配合 forlist(range(3)) 只是方便把序列看清楚。

sorted 通常不改原来的 列表。 列表自己的 sort() 会改原来的。

平均数可以组合:

python
nums = [90, 80, 70]
mean = sum(nums) / len(nums)
print(round(mean, 1))

len("你好")2,因为按字符数。 sorted("cab") 会得到字符列表 ['a', 'b', 'c']

不确定时,先 print 看一眼。 这就是最便宜的显微镜。

对空列表求 minmax 会失败。 没有元素,就没有最小最大。 sum([]) 倒是 0

生活里在哪里

  • 尺子:量长度,像 len
  • 计算器的 |x| 键:绝对值,像 abs
  • 成绩单:最高分、最低分、总分,像 maxminsum
  • 点名册人数:像 len(名单)
  • 图书馆把书按拼音重排:像 sorted

生活里的工具箱不用你焊接。 Python 的内置函数也一样:认识名字,会用就行。

和相近概念的差别

内置函数是语言自带的。 自己的函数是你用 def 做的。 导入模块以后才能用的,例如 math.sqrt,叫标准库函数,也不算「开机就有」的那一小批。

sorted 是函数。 sort 是列表的方法。 一个常常给出新列表,一个改原来的列表。

intstr 既是类型名,也能当转换函数用。 见 类型转换

print 主要给眼睛看。 lensumabs 主要把结果送回给程序。 见 print

常见误会

误会 1:忘记括号,写成 len nums

函数都要括号。 len(nums) 才对。

误会 2:以为 range(3) 包含 3。

停在 3 前面。

误会 3:把 sortedsort 当成完全同一件事。

一个出新列表,一个改原列表。

误会 4:round 的第二个参数忘了,小数位被全部收掉。

round(3.14159) 得到 3。 要留两位,写 round(3.14159, 2)

误会 5:sum 用在字符串上。

它只适合数字序列。 文字请用拼接,或先转换。

想知道更多

  • 书:潘洪波《小学生 Python 趣味编程》(用成绩、长度这些生活量引出现成帮手)。
  • 书:埃里克·马瑟斯《Python 编程:从入门到实践》(后面项目会反复用到长度、求和、排序,可和家长一起查例子)。

未登录时不会保存学习进度