函数就好比是你厌倦了重复差不多内容的功能,这些功能都会耗费很多同样的代码。
为了简洁起见,可以把这些内容都封装为函数。这样,只要一行就可以实现原来很多行代码的功能。这些函数还可以根据传递的不同命令内容来决定具体函数的功能。这些命令内容叫参数。
有时候,你预先不知道函数需要接受多少个实参,好在Python允许函数从调用语句中收集任意数量的实参。
python大大的图
我的图
这是一个制作比萨的函数,它需要接受很多配料,但你无法预先确定顾客要多少种配料。形参名*toppings中的星号让Python创建一个名为toppings的空元组,并将收到的所有值都封装在这个元组中。
Python能够处理使用一个值调用函数的情形,也能处理使用三个值来调用函数的情形。它以类似的方式处理不同的调用,注意,Python将实参封装到一个元组中,即便函数只收到一个值也是如此。
第八行直接规定要取出元组中的第一个和第二个元素,但是很明显在pepperoni这个元组中只有一个元素,因此会报错说元组索引超出范围。根本就没有toppings[1]这个元素嘛!
但是如果元组中元素确保大于等于2的时候就不会有这样的问题
网友评论