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