猿问

这两种传递参数的方式有什么区别?

在Python中,这两个示例具有相同的作用:


from tkinter import Label

widget = Label(None, text='Hello')

widget.pack()

widget.mainloop()


from tkinter import Label

widget = Label(None,'Hello')

widget.pack()

widget.mainloop()

我认为这Label是一个类,当我尝试创建该类的实例时,我总是做与上一个代码示例相同的操作。我对的含义感到奇怪text='Hello'。有人可以告诉我吗?


慕的地10843
浏览 174回答 3
3回答

一只名叫tom的猫

我对text ='Hello'的含义感到奇怪。有人可以告诉我吗?它是命名实参或关键字实参。命名参数不仅可以传递参数值,还可以传递参数名称,从而可以以任何顺序将参数传递给函数。

凤凰求蛊

正如其他人所说,这是一个keyword argument。实用上,指定或不指定参数之间的区别仅在于将使用哪个参数。例如,如果您有一个带有3个参数的函数,并且只传递了其中一个或两个参数,则必须指定要使用的参数,以防它们不是定义中的第一个参数。def f(a = "a", b = "b", c = "c"):    print a, b, c>>> f("x")x b c>>> f("x", "y")x y c>>> f("x", c = "y")x b y
随时随地看视频慕课网APP

相关分类

Python
我要回答