Python默认参数python默认参数位置

2024-01-13 04:06:08 浏览

Python参数传递规则如下:

Python默认参数python默认参数位置

不可变对象(数字、字符串、元组)作为函数参数传递时,相当于传递了对象的值,函数内部对该参数进行修改不会影响原对象。

可变对象(列表、字典、集合)作为函数参数传递时,相当于传递了对象的引用,函数内部对该参数进行修改会影响原对象。

函数参数默认值在函数定义时就已经确定,不会随着函数调用而改变。

位置参数必须按照函数定义的顺序传递,关键字参数可以任意顺序传递。

位置参数和关键字参数可以混合使用,但是位置参数必须放在关键字参数前面。

可以使用*args和**kwargs来处理可变数量的参数。其中,*args表示接收任意数量的位置参数,**kwargs表示接收任意数量的关键字参数。

在Python中,fontname参数通常用于指定字体名称。它通常用于控制所使用的文本字体,特别是在绘图库(如Matplotlib)或文本显示库中使用。

以下是一些使用fontname参数的示例:

这将在图表添加一个文本,并使用Arial字体。

在这个例子中,我们使用ImageFont.truetype()方法来加载字体文件,并将其应用于文本。

请注意,可用的字体取决于系统上安装的字体,并且必须具有相应的访问权限。如果指定的字体文件不存在或无法访问,将引发异常。因此,在使用fontname参数时,请确保指定的字体文件存在,并具有适当的的位置和权限。

name: 列表参数值,表示要从系统中加载的字体名称,它会按照列表中的元素顺序依次搜索,如果系统中没有列表中的字体,将使用 Pygame 默认的字体。

size: 表示字体的大小; bold: 字体是否加粗; italic: 字体是否为斜体。

python中函数传递参数三种方式。第1 种方式是最“传统”的方式:一个函数可以定义不限个数参数,参数(形式参数)放在跟在函数名后面的小括号中,各个参数之间以逗号隔开。

用这种方式定义的函数在调用的时候也必须在函数名后的小括号中提供相等个数的值(实际参数),不能多也不能少,而且顺序还必须相同

也就是说形参和实参的个数必须一致,而且想给形参1的值必须是实参中的第一位,形参与实参之间是一一对应的关系,即“形参1=实参1 形参2=实参2...”。

很明显这是一种非常不灵活的形式。比如:"def addOn(x,y): return x + y",这里定义的函数addOn,可以用addOn(1,2)的形式调用,意味着形参x将取值1,主将取值2。

addOn(1,2,3)和addOn (1)都是错误的形式。

第2种方式比第1种方式好一点,在定义的时候已经给各个形参定义了默认值。

因此,在调用这种函数时,如果没有给对应的形式参数传递实参,那么这个形参就将使用默认值。

比如:“def addOn(x=3,y=5): return x + y”,那么addOn(6,5)的调用形式表示形参x取值6,y取值5。

此外,addOn(7)这个形式也是可以的,表示形参x取值7,y取默认值5。这时候会出现一个问题,如果想让x取默认值,用实参给y赋值怎么办?

前面两种调用形式明显就不行了,这时就要用到Python中函数调用方法的另一大绝招 ──关健字赋值法。

可以用addOn(y=6),这时表示x取默认值3,而y取值6。这种方式通过指定形式参数可以实现可以对形式参数进行“精确攻击”,一个副带的功能是可以不必遵守形式参数的前后顺序,比如:addOn(y=4,x=6),这也是可以的。

这种通过形式参数进行定点赋值的方式对于用第1种方式定义的函数也是适用的。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。