Python如何使用方括号定义带有可选参数的函数?

2024-09-26 18:12:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我经常发现一些函数被定义为open(name[, mode[, buffering]]),我知道它意味着可选参数。
Python文档表示它是模块级函数。当我试图用这种样式定义函数时,总是失败。
例如
def f([a[,b]]): print('123')
不起作用。
有人能告诉我模块级意味着什么吗?我如何用这种风格定义函数?在


Tags: 模块函数name文档参数定义风格mode
3条回答

1。如果我们可以用这种方式定义可选参数(目前没有)

方括号表示法不是python语法,它是Backus Naur格式-它只是一个文档标准。在

  1. 模块级函数是在模块(包括__main__)中定义的函数,这与在类(方法)中定义的函数不同。在

到目前为止,我还没有得到预期的答案。最初,当我看到这种表达方式时,我真的想知道这是什么意思。这显然意味着可选参数。那时,我发现用可选参数定义函数可能是一种不同的方式(不同于通常的方法,如f(a,b,c=None,d='balabala')),但不仅告诉我们它是可选参数。本文的优点是可以帮助我们使用可选参数,但没有默认值,因此我认为这是一种更清晰、更简单的定义可选参数的方法。
我真正想知道的是两件事:1。如果我们可以用这种方式定义可选参数(目前没有)2。如果有人能解释一下模块级功能是什么意思,那就太好了? 我非常感谢你的回答和评论!非常感谢

这就是你要找的吗?在

>>> def abc(a=None,b=None):
...  if a is not None: print a
...  if b is not None: print b
... 
>>> abc("a")
a
>>> abc("a","b")
a
b
>>> abc()
>>> 

相关问题 更多 >

    热门问题