xiaoxiaotaozi
V2EX  ›  问与答

关于 Python 里面函数定义的一些问题求教

  •  
  •   xiaoxiaotaozi · Apr 29, 2019 · 2054 views
    This topic created in 2753 days ago, the information mentioned may be changed or developed.

    在函数定义里面 def function(kw)这里的这个kw 怎么理解呢。恳请个人小哥哥解释一下。

    5 replies  •  2019-04-29 17:00:52 +08:00
    inhzus
    inhzus
    Apr 29, 2019
    2
    目测楼主因为 Markdown 语法导致 double star 变成了 bold.
    1 参数位置的 double star 符号把一系列关键字参数 pack 为 dict.
    举例说明:

    >>> def func(**kw):
    ... print(kw)
    ...
    >>> func(a=1, b='2')
    {'a': 1, 'b': '2'}

    2 double star 符号可以把 dict unpack 为一系列关键字参数

    >>> def foo(a, b):
    ... d = {'c': a, 'd': b}
    ... func(**d)
    ...
    >>> foo(1, 2)
    {'c': 1, 'd': 2}

    single star 符号同理. 这个东西有很多 magic 用法
    izoabr
    izoabr
    Apr 29, 2019
    3
    KeyWord
    virualv
    virualv
    Apr 29, 2019 via Android
    4
    kwargs?
    xiaoxiaotaozi
    xiaoxiaotaozi
    OP
    Apr 29, 2019
    5
    是的**kwargs 看见他们回复了,是关于字典的操作
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   982 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 19:10 · PVG 03:10 · LAX 11:10 · JFK 14:10
    ♥ Do have faith in what you're doing.