day9 函数

本文深入解析了Python函数的各种参数类型,包括形参、实参、位置参数、关键字参数、默认参数及参数组。通过实例展示了参数如何在函数中工作,帮助读者理解函数调用的机制。

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

  函数基本格式

 1 def test(x):  # x 为形参
 2     """
 3         2*x+1
 4         :param x:整型数字
 5         :return: 返回
 6     """
 7     y=2*x+1    # 运算过程 
 8     return  y  # 返回结果:返回值
 9 print(test)
10 b = test(3)  # 代入实参运行函数进行计算
11 print( b )    # 得到返回值并打印出来

 

  

  参数可以不带的函数

 1 def test():
 2     """
 3         2*x+1
 4         :param x:整型数字
 5         :return: 返回
 6     """
 7     x = 3
 8     y=2*x+1
 9     return     y
10 b = test()
11 print( test())

  

   形参,实参的对比

1 def calc(x,y):     # 形参,只在函数内部有效,函数运算完就释放掉了
2     res = x**y
3     return res
4 c = calc(a,b)        # 实参,函数外的真正开辟了内存的参数
5 print(c)


位置参数,一一对应,缺一不可
1 def test(x,y,z):
2     print(x)
3     print(y)
4     print(z)
5 test(1,2,3)


关键字参数,无需一一对应,缺一不可
1 def test(x,y,z):
2     print(x)
3     print(y)
4     print(z)
5 test(y=1,z=2,x=3)


位置参数必须在关键字参数左边,参数不能空,可能来回赋值就乱了
1 def test(x,y,z):
2     print(x)
3     print(y)
4     print(z)
5 # test(1,z=2,3)       # 报错
6 # test(1,3,y=3)       # 报错


默认参数,定义初始参数,但是如果被赋值则取消默认参数
1 def handle(x,type=None):
2     print(x)
3     print(type)
4 handle("hello")
5 handle("hello",type="sqskl")
6 handle("hello","sqskl")

 
参数组: * 列表 ** 字典
 1 def  test (x,*args):
 2 # 传多个不晓得会多少或者以后做扩展的时候,用*args表示接受列表
 3 # 或者**kwargs接受字典
 4     print(x)
 5     print(args)
 6     print(args[3])
 7 test(1,2,3,4,5,6)
 8 test(1,[1,2,3,4,5])        # 位置参数的形式传参,不论你是什么列表字典都当做一个元素来传
 9 test(1,*[1,2,3,4,5])        # 若不想要他作为一个整体元素,列表加* ,字典加** ,可以将内容独立做元素
10 test(1,y=2,z=3,z=6)            #一个参数不能传两次 # 直接提示报错标红了
1 def  test (x,*args,**kwargs):
2 # 两者混用的时候,**kwargs必须放在最后面,不然会违背位置参数必须放在关键字参数左边的原则
3     print(x)
4     print(args,args[-1])
5     print(kwargs,kwargs["y"])
6 test(1,11,111154546,123,y=3,z=4)
7 test(1,*[11,111154546,123],**{"y":3,"z":4})
8 # 列表参数传递给*args用元祖方式进行传递
9 # 关键字参数传递给**kwargs 用字典的方式传递

 

转载于:https://www.cnblogs.com/shijieli/p/9687042.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值