zoukankan      html  css  js  c++  java
  • python基础-操作函数2

      一、实参和形参

        形参:指的是在定义函数时,括号()内指定的参数。本质就是变量名

          实参:指的是在调用函数时,括号()内传入的值。本质就是值

          只有在调用函数时才会在函数体内发生实参(值)与形参(变量名)的绑定关系

          该绑定关系只在调用函数时临时生效,在调用函数结束后就解除绑定


        二、位置参数与关键字参数

        位置参数:在定义函数时,按照从左到右顺序依次定义的形参称之为位置形参

          注意:1.但凡是按照位置定义的形参,在调用函数时必须传其值,多一个不行,少一个不行

          

          位置实参:在调用函数时,按照从左到右的顺序依次传入的值

          注意:1.在传值时,按照顺序与形参一一对应

          

          关键字实参:在调用函数时,按照key=value的形式定义的实参,称之为关键字实参。

          

          注意:1.在传值可以完全打乱顺序,但仍然可以指名道姓的指定参数传值

          

              2.位置参数可以和位置参数混合使用。

               位置参数不能跟在关键字参数后面

           

               并且不能重复传值

           

        三、默认形参

          在定义函数时,就已经为某些参数绑定值,称之为默认参数

          注意:1.在定义阶段就已经有值,就意味着在调用阶段就可以不用为其传值

             

             2.若已经传值,则以传入值为准

             

             3.默认形参的值只在定义阶段生效一次,在函数定义之后发生的改动无效

             

             4.默认形参的值通常应该是不可变类型

             

           默认形参VS位置形参:

            默认形参:大多数情况下值都一样

            位置形参:大多数值都是不一样

        四、可变长度的参数:

          可变长度指的是在调用函数时,函数参数的个数可以不固定

          然而实参终究是要为形参传值的,针对实参个数不固定,对应着也形参也必须有两种解决方案,来分别处理溢出的关键字实参(**)和位置实参(*)。

          *处理的溢出的位置参数,会保存成元祖的形式赋給 *后面的变量名

          

          **处理的溢出的关键字参数,会保存成字典的形式赋給 *后面的变量名    

             

          

         实参中带*

           窍门:但凡碰到实参中带*,都先将其打散成位置实参

            

             窍门:但凡碰到实参中带**,都先将其打散成关键字实参

             

  • 相关阅读:
    hdu4276 依赖背包
    poj1155 依赖背包
    cf219d 基础换根法
    贪婪大陆——(树状数组)
    数星星(树状数组或者线段树)
    拓扑排序基础题——排序
    Codeforces Round #511 (Div. 1) T2 Little C Loves 3 II
    除虫药水(简单dp)
    烽火传递(单调队列优化dp,然而蒟蒻用一个优先队列做)
    ZOJ----3471Most powerful(简单状压dp)
  • 原文地址:https://www.cnblogs.com/linbin7/p/10520530.html
Copyright © 2011-2022 走看看