我是Python语言的新手,我有点沮丧。
直到今天,我还认为在函数调用中传递参数名不是强制性的。例如,如果您有以下函数:
def computeRectangleArea(width=7, height=8):
return width * height
我认为可以像这样调用computeRectangleArea(width=7,height=8)
只是为了更清楚地理解参数的含义,但实际上并不需要输入参数的关键字,所以您也可以这样调用相同的函数:computeRectangleArea(7, 8)
今天,在使用openpyxl.styles.PatternFill()
的时候,我意识到在调用这个函数时,fill_type
关键字是必须的。
假设您以这种方式调用函数:openpyxl.styles.PatternFill('FFFFFF','FFFFFF','solid')
,那么对输入参数的解释将是错误的。
我有一些使用OOP语言(Java,C#)的经验,这些东西在那里是不存在的。
在我看来,一些参数名(如上面示例中的start_color
和end_color
)是可选的,而其他参数名(如fill_type
)必须在它们的值之前指定,这似乎是一种不一致的行为。
谁能给我解释一下为什么这项政策看起来很奇怪?此外,如果有人能给我指出一些有用的资源来理解它的实现方式,我会很高兴的。
https://stackoverflow.com/questions/51602174
复制相似问题