6.1 函数调用

深入学习Python内置函数的使用方法,包括abs、max等常用函数的调用方式,掌握数据类型转换函数int()、float()、str()、bool()的使用,理解函数参数传递和错误处理机制。

Python给我们准备了一大堆现成的函数,拿来就能用,相当方便。

想调用某个函数?得先搞清楚两件事:它叫什么名字,需要传什么参数

拿求绝对值的abs函数来说,它只要一个参数就够了。不确定怎么用的话,可以去Python官方网站查文档,或者在交互式命令行里敲help(abs)看看帮助信息。

试试调用abs函数:

>>> abs(100)
100
>>> abs(-20)
20
>>> abs(12.34)
12.34

如果传的参数数量不对,Python会直接给你报TypeError错误。比如abs()明明只要一个参数,你却给了两个,它就会很明确地告诉你哪里错了:

>>> abs(1, 2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: abs() takes exactly one argument (2 given)

参数数量对了,但类型不对也不行。比如你给abs传个字符串,它会告诉你str这种类型没法用:

>>> abs('a')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: bad operand type for abs(): 'str'

max函数就灵活多了,它能接收任意多个参数,然后帮你找出最大的那个:

>>> max(1, 2)
2
>>> max(2, 3, 1, -5)
3

数据类型转换

Python还内置了一些专门做类型转换的函数。比如int()能把别的数据类型变成整数:

>>> int('123')
123
>>> int(12.34)
12
>>> float('12.34')
12.34
>>> str(1.23)
'1.23'
>>> str(100)
'100'
>>> bool(1)
True
>>> bool('')
False

函数名本质上就是指向函数对象的引用。你完全可以把函数名赋值给一个变量,这就相当于给函数起了个"外号":

>>> a = abs # 变量a现在指向abs函数
>>> a(-1) # 通过a也能调用abs函数
1

练习

来个小任务吧。Python有个hex()函数可以把整数转换成十六进制字符串,试试用它处理下面这两个数:

n1 = 255
n2 = 1000

print(???)

小结

调用Python函数时,关键是要传对参数——数量要对、类型也要对。遇到报错别慌,认真看错误提示信息,它会告诉你哪里出了问题。所以啊,英文基础还是挺重要的,至少得能看懂这些错误提示。