Python进阶:函数

函数参数

1. 形参:定义函数时的参数
2. 实参:调用函数时传入的参数(位置实参:按顺序传入,关键字实参:直接指定参数)

注意:当传入的参数为数值时为值传递,当传入的参数是list、dict时为引用传递,对参数修改会影响原始数据
值传递:
def fun(arg):
arg = 2

if __name__ == "__main__":
    a = 1
    fun(a)
    print(a) # a = 1

引用:
def fun(arg):
    arg[0] = 2

if __name__ == "__main__":
    a = [ 1 ]
    fun(a)
    print(a) # a = 2

函数参数默认值

1. 当传入参数时覆盖默认参数,否则使用默认参数
2. 定义函数时,默认参数要放在不是默认参数的右边

函数可变参数:0个或多个参数

1. *args传入的参数为元组(把参数打包成元组再传入,元素个数不确定)
2. **arg传入的参数为字典

注意:可变参数要放在不可变参数的右边,否则不可变参数被包含进可变参数里面
def fun(*arg, **arg2):
print(type(arg))
print(type(arg2))

    for i in arg:
        print(i)

    for i in arg2.keys():
        print(i, arg2[i]) 

if __name__ == "__main__":
    a = 1
    fun(1, 2, 3, a=1, b=2)

返回值

1. 默认返回None
2. 可返回任意类型

在函数内定义函数

1. 这个内部函数只能在内部使用
def fun(arg):
    def fun2(arg):
        print(arg)
    print(arg)

函数作为参数

1. 类似于C语言的回调
def call_back_fun(*arg):
    for i in arg:
        print(i)

def fun(callBackFun, *arg):
    callBackFun(arg)

if __name__ == "__main__":
    a = 1
    b = 2
    fun(call_back_fun, a, b)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值