V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
xiaoxiaotaozi
V2EX  ›  问与答

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

  •  
  •   xiaoxiaotaozi · 2019-04-29 10:22:32 +08:00 · 1312 次点击
    这是一个创建于 2065 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    5 条回复    2019-04-29 17:00:52 +08:00
    hflyf123
        1
    hflyf123  
       2019-04-29 10:25:18 +08:00   ❤️ 1
    inhzus
        2
    inhzus  
       2019-04-29 10:44:13 +08:00
    目测楼主因为 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
        3
    izoabr  
       2019-04-29 11:13:15 +08:00
    KeyWord
    virualv
        4
    virualv  
       2019-04-29 12:05:34 +08:00 via Android
    kwargs?
    xiaoxiaotaozi
        5
    xiaoxiaotaozi  
    OP
       2019-04-29 17:00:52 +08:00
    是的**kwargs 看见他们回复了,是关于字典的操作
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5286 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 03:47 · PVG 11:47 · LAX 19:47 · JFK 22:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.