Possible to call single-parameter Python function without using parentheses?

前端 未结 4 1400
南方客
南方客 2021-01-05 15:40

The Python documentation specifies that is is legal to omit the parentheses if a function only takes a single parameter, but

    myfunction \"Hello!\"
         


        
4条回答
  •  -上瘾入骨i
    2021-01-05 16:18

    For your edit:

    If you write down a generator expression, like stuff = (f(x) for x in items) you need the brackets, just like you need the [ .. ] around a list comprehension.

    But when you pass something from a generator expression to a function (which is a pretty common pattern, because that's pretty much the big idea behind generators) then you don't need two sets of brackets - instead of something like s = sum((f(x) for x in items)) (outer brackets to indicate a function call, inner for the generator expression) you can just write sum(f(x) for x in items)

提交回复
热议问题