如何看懂 python help function 文档

1.

>>>help(dict,fromkeys)
Help on built-in function fromkeys:
fromkeys(iterable, value=None, /) method of builtins.type instance(bultins.type 实例的方法)
    Returns a new dict with keys from iterable and values equal to value.
(END)

<1> 第一个疑问:

method of builtins.type instance:说明是builtins.type 的一个 方法,但是执行callable抛出异常.
>>> callable(builtins.type.fromkeys)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: type object 'type' has no attribute 'fromkeys'

<2> 自定义函数如下:

>>> def fun(var,optVar=None):
...     if optVar is None:
...             print(var)
...     else:
...             print(var,optVar)
... 
>>> fun(2)
2
>>> fun(2,optVar=4)
2 4
调用fun(2,optVar)并不会抛出异常;但是下面的调用dict.fromkeys(iter([1,3]),value=20)为什么会抛出异常
>>> d = dict.fromkeys(iter([1,2]),value=40)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: fromkeys() takes no keyword arguments

<3>函数说明文档理解

>>>help(dict.get)
Help on method_descriptor:

get(...)
    D.get(k[,d]) -> D[k] if k in D, else d.  d defaults to None.
    
在get(k[,d])中,[,d]的含义是d是可选唯一的另一个的参数?
有类似funName(k,[,a,b,c]) 这种类型的参数介绍吗?它的含义是不是除了参数k,另外a,b,c 这三个参数是可选的?
如有这方面资料希望玩分享下.
感谢在先.

阅读 4.6k
1 个回答
  1. 其实理解错了built-in function只是说这个是内置的方法, 你可以直接使用, 而不是让你callable(builtins.type.fromkeys) 这样调用.
  2. 同样的, 因为是build-in, 所以它的函数定义只是告诉我们默认值是什么而已, 而不同于我们平时的关键字参数, 它的具体实现是通过c源码实现的, 所以指定v=40, 这种形式是会报错的! 你也可以查阅官网用法: (搜索 fromkeys)
    http://python.usyiyi.cn/trans...
  3. 对于 [, v]这样的说明, 就是说, v这个参数, 可以给也可以不给, 就好像上面的fromkeys, 它的用法也是dict.fromkeys(S[,v]), 就代表, v的那个参数, 如果你给就用你的值, 如果不给就用它默认的值
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题