函数--参数

1、函数:①函数(function)从宏观上说,描述了生活中对象本身的一种行为!如学生有学习的行为、老师有教学的行为!

函数(function)从代码角度狭义上描述:包含了一部分代码的功能模块!

打包(封装)成整体的代码片段

      1.提升代码的重复利用性

      2.提升代码的可读性

      3.提升代码的编写效率

2、函数的语法结构

 def 函数名([参数1,参数2....参数n]):

       函数的代码片段

       [return 值]

def  add(a, b):  a,b叫做形式参数

return a + b        return关键字不仅仅会返回运算结果同时他还会立即结束函数

result = add(10, 20)  # 10,20 叫做实际参数

print(result)

参数:位置参数, 默认值参数,可变参数,关键字参数,命名参数,

位置参数,一般情况下实参的传参顺序必须跟形参列表一致

如果先传某个后面的参数,需要指名道姓的传参

def  add(a, b):

return a + b

  result = add(b=20, a=10)

print(result)

3、 默认值参数  在形参列中提前给参数赋值

     调用具有默认值参数的函数时,可以省略默认值参数的传参,如果觉得默认值参数不好用,我们可以主动传参替换掉默认值

 def circle_area(r, pi=3.14):

     return pi * r * r

 result = circle_area(10)

result = circle_area(10, 3.1415926)主动替换

print(result)

4、默认值参数的可以当做是一个全局的变量,每调用一次都会修改原有的内容,下一次调用在修改后结果上继续

 所以默认值参数,虽然不禁止参数数据类型为可变,但是建议默认值参数的数据类型为不可变

    def add(ls=[]):

        for i in range(3):

           ls.append(i)

        print(ls)

add()# [0,1,2]

add()# [0,1,2,0,1,2]

add()# [0,1,2,0,1,2,0,1,2]

5、可变参数:可以0~n个实际参数,会将实际参数打包成元组交给函数运算

在函数 可变参数就是一个元组

   def add(*args, a, b, c):此时a,b,c出现在可变参数之后,他们不再是位置参数而是 命名参数

result = 0

for num in args:

         result += num

     return result

print(add(1, 2, 3, 4, 5, 6, 7, 9, a=10, b=11, c=12))

6、命名参数:就是必须指名道姓传参的参数,他一般出现在*args之后或者 * 之后。避免参数过多时,出现传参错误的情况,同时也可以提升代码清晰度,一眼就能知道那个实参传给了哪个形参

def test(*, a, b, c, d, ):

        print(a, b, c, d)

test(a=1, b=2, c=3, d=4)

7、关键字参数

 关键字参数的自由度非常高,参数的名称可以在传入实参是临时赋予

def function(**kwargs):

       for key, value in kwargs.items():

            print(key, value)

function(学号="001", name="zs", age=18,)

8、参数的建议数学顺序

def function(a, b, c, d=10, *args, e, f, g, **kwargs):

     pass

参数组合传递

def function(a, b, c=0, *args, **kwargs):

    print(a, b, c, args, kwargs)

function(*(1, 2, 3, 4), {'name': 123, 'age': 123, 'haha': 'hehe'})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值