函数-Ⅱ
>>> # 散列表(Hash table)也称为哈希表,其实就是一个稀疏数组(总是有空白元素的数组称为稀疏数组)>>> # 将要存储的数据是先通过哈希函数(在 Python 中,这个函数是 hash())进行计算,获得一个哈希值,这个值决定了数据将存放在什么位置:
>>> # 位置参数 ,实参是按照形参定义的顺序进行传递的:
>>> def myfunc(s, vt , o):
... return "".join((o, vt, s))
...
>>> myfunc("我", "打了", "小甲鱼")
'小甲鱼打了我'
>>> myfunc("小甲鱼", "打了", "我")
'我打了小甲鱼'
>>> # 使用关键字参数,我们只需要知道形参的名字就可以:
>>> myfunc(o="你", vt="打了", s="我")
'你打了我'
>>> # 位置参数必须是在关键字参数之前,之间也不行哈。
>>> # Python 还允许函数的参数在定义的时候指定默认值,这样以来,在函数调用的时候,如果没有传入实参,那么将采用默认的参数值代替
>>> def myfunc(s, vt, o="小甲鱼"):
... return "".join((o, vt, s))
...
>>> myfunc("香蕉", "吃")
'小甲鱼吃香蕉'
>>> # 默认参数的意义就是当用户没有输入该参数的时候,有一个默认值可以使用,不至于造成错误。
>>> # 如果用户指定了该参数值,那么默认的值就会被覆盖:
>>> myfunc("香蕉", "吃", "不二")
'不二吃香蕉'
>>> # 如果要使用默认参数,那么应该把它们摆在最后:
>>> # 使用 help() 函数查看函数文档的时候呢,经常会在函数原型的参数中发现一个斜杠(/),
>>> # 这表示斜杠左侧的参数必须传递位置参数,不能是关键字参数,举个例子:
>>> help(sum)
Help on built-in function sum in module builtins:
sum(iterable, /, start=0)
Return the sum of a 'start' value (default: 0) plus an iterable of numbers
When the iterable is empty, return the start value.
This function is intended specifically for use with numeric values and may
reject non-numeric types.
>>> sum(, start=6)
12
>>> sum(, start=7)
13
>>> # 限制 “只能使用关键字参数” 的语法
>>> def abc(a, *, b, c):
... print(a, b, c)
...
>>> # 参数 a 既可以是位置参数也可以是关键字参数,但参数 b 和参数 c 就必须是关键字参数,才不会报错:
>>> abc(1, 2, 3)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: abc() takes 1 positional argument but 3 were given
>>> abc(1, b=2, c=3)
1 2 3 {:5_109:} {:5_106:}
页:
[1]