python_基础_函数_形参传递方式

本文深入解析Python函数参数的五种传递方式:缺省参数、位置形参、星号元组形参、命名关键字形参及双星号字典形参。通过实例演示每种参数类型的特点与使用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python的形参传递方式

1.函数的缺省参数
2位置形参 ----->实参,形参,一一对应,不过多描述;
3.星号元组形参
4.命名关键字形参
5.双星号字典形参

#1.函数的缺省参数
def fa(name , age = 18 ,sex = '男'):
    print('我的名字叫:{},今年:{}岁了,性别:{}'.format(name,age,sex))
fa('wonderful')
fa('wonderful',20)
fa('wonderful',22,'女')  #缺省参数必需依次从右向左依次存在,可以有0~n个,且(name)不能放到后面

def faa(x,l =[]):
    l.append(x)
    print(l)
faa(1)
faa(2)  #[1, 2]
#注:函数中的列表不会消失,变量会消失。实参传递时也标注过

#3.星号元组形参
def fc(*args):  #*args 后面参数也必须使用关键字传参
    print(args)
fc(1,2,3,4,5)#(1, 2, 3, 4, 5) 元组形式

#4.命名关键字形参
def fd(a,*,b):  #*后面的形参,必需使用关键字传参
    print(a,b)
fd(1,b = 'w')
fd(1,**{'b' : 'z'})#**{'b' : 'z'}---->b ='z'

#5.双星号字典形参
def fe(**kwargs):
    print(kwargs)   #--->输出为字典形式{'name': 'wonderful', 'birthday': '1998-08-27'}
#fe({'name':'wonderful','birthday':'1998-08-27'})  --->报错
fe(name="wonderful",birthday ="1998-08-27")

'''
函数参数从左到右的顺序:位置形参--->星号元组(输出为元组)形参---->命名关键字形参--->双星号字典(输出为字典)形参
'''
### Python `__init__` 函数的用法与解释 在面向对象编程中,类用于创建具有特定属性和方法的对象。当实例化一个新对象时,`__init__` 方法会被自动调用,用来初始化该对象的状态。 #### 初始化方法的作用 `__init__` 是一种特殊的方法,在定义类的时候通常会包含此方法。每当基于这个类创建一个新的实例时,就会执行这段代码来设置初始状态[^1]: ```python class Circle: def __init__(self, radius): self.radius = radius # 设置圆的半径属性 ``` 上述例子展示了如何通过传递参数给构造器来进行成员变量赋值操作。这里 `self.radius` 表达的是当前正在被构建的那个具体圆形实例所拥有的私有数据——即其半径长度。 #### 参数命名的重要性 值得注意的是,函数名以及它们接收的参数应当具备描述性的意义以便于理解程序逻辑。因此建议采用能够清晰表达功能含义的名字作为标识符[^2]。对于上面提到的例子而言,“radius”就是一个很好的选择因为它直接反映了传入数值代表的意义。 #### 使用默认参数简化接口设计 有时为了使 API 更加灵活友好,可以在定义 `__init__` 的时候提供一些带有默认值得形参从而让用户可以选择性地指定某些配置项: ```python import math class Rectangle: def __init__(self, width=0, height=0): self.width = width # 宽度,默认为零 self.height = height # 高度,默认也为零 def area(self): return self.width * self.height ``` 在这个矩形类里如果用户不给出具体的尺寸,则这些维度将会取到预设好的初值;当然也可以显式地赋予其他任何合法实数以改变形状大小。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值