精华内容
下载资源
问答
  • 形参与实参

    2017-10-17 15:11:15
    形参与实参 #函数的形参与实参 #参数概念 a="abcdef" print len(a) #什么是形参 def function1(a,b): if a>b: print a else: print b #什么是实参 function1(1,3) #参数的传递 #第一种,最简单的...

    形参与实参


    #函数的形参与实参
    
    #参数概念
    
    a="abcdef"
    print len(a)
    
    #什么是形参
    def function1(a,b):
        if a>b:
            print a
        else:
            print b
    
    #什么是实参
    
    function1(1,3)
    
    #参数的传递
    
    #第一种,最简单的传递
    
    def function(a,b):
        if a>b:
            print "大"
        else:
            print "小"
    function(5,2)
    
    #第二种,赋值传递
    
    def function(a,b=6):
        print a
        print b
    function(2,5)
    
    
    #关键参数
    def function(a=1,b=6,c=7):
        print a
        print b
        print c
    function(5)
    function(b=7,c=8)
    function(5,c=2,b=3)
    function(b=4,c=2,a=1)
    
    #要注意,参数不能冲突
    # function(b=2,c=3,2)

      

    展开全文
  • C语言之形参与实参

    2021-02-04 18:14:04
    形参与实参 1.形参实参是什么 2.形参实参的区别 3.形参与实参知识点 3.1实参的值不随形参的变化而...今天我们来说下c语言形参与实参的区别,形参实参理解的话也很简单,但是好多同学关于这个知识点都是一知.

    目录

    形参与实参

    1.形参和实参是什么

    2.形参和实参的区别

    3.形参与实参知识点

    3.1实参的值不随形参的变化而变化

    ** 3.2.实参传递给形参的参数个数类型和顺序都应相同,否则会系统强制转换,出现数据丢失或者“类型不匹配”的错误

    3.3如果实参是数组名,那么形参传递的之就是地址的值


    形参与实参

    今天我们来说下c语言形参与实参的区别,形参跟实参理解的话也很简单,但是好多同学关于这个知识点都是一知半解,没有真正的去透彻,一问都知道,但在真正引用的时候还会出现很多问题,而百度的时候又会说看不懂,所以我们今天来做一个比较全面的介绍

    我们今天讲解以简单明了易看懂为基础

    1.形参和实参是什么


    简单来说,形式参数(形参)就是形式上的参数,没有确定值,
    而实际参数(实参)是实际存在的,已经确定的参数,常量,变量,表达式,都是实参,

    最简单的例子

     

    int a=2;  这里的A有了实际的值 为实参
    int change(int b,int c); **c和b就是形参**。 这里的c和b可以是任意一个值传递,为形参
    int main()
    {
        change(1,2); 这样就是把实参值传递给形参,1和2就是实参
     
    }

    这样我们能有一个简单的认识

    2.形参和实参的区别

                                          形参

                    实参
    形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量实参定义后就会分配内存
    形参出现在函数定义中,在整个函数体内都可以使用, 离开该函数则不能使用实参出现在主调函数中,进入被调函数后,实参变量也不能使用
    形参没有确定的值实参在值传递给形参的时候,必须要有确定的数值
      

    3.形参与实参知识点

    3.1实参的值不随形参的变化而变化

    在C语言中,数据传送是单向的,即只能把实参的值值传递给形参,但形参的变化不会改变实参的值,我们可以简单理解,就相当于把实参的值 复制给了另一个数(形参),而另一个数的改变不会改变原来数(实参)的值,正规来说:他们在内存中位于不同的位置,形参将实参的内容复制一份,在该函数运行结束的时候形参被释放,而实参内容不会改变。

    ** 3.2.实参传递给形参的参数个数类型和顺序都应相同,否则会系统强制转换,出现数据丢失或者“类型不匹配”的错误


    比如

    loat a=5.34;
    void number(int b);
     
    int main()
    {
        number(a);    //这样就会出现丢精度现象
    
    }

    3.3如果实参是数组名,那么形参传递的之就是地址的值

    int a[5];
    void add(int *b);
    int main()
    {
        add(a);//这样就是把数组a的首地址做为形参传递
    }

    在C里面 是无法做到形参改变 实参值同步改变的。如果要用函数改变实参的值,可以用指针作为参数来改变

    通过直接改变地址存储值来改变实参

    展开全文
  • 主要介绍了C++形参与实参的区别实例解析,需要的朋友可以参考下
  • 形参与实参定义2.实参分类3.形参分类4.可变参数的整体使用一、形参与实参定义def fn(参数们):pass1.1 形参定义函数,在括号内声明的变量名,用来接外面传来的值1.2 实参调用函数,在括号内传入的实际值,值可以为...

    今日内容:

    一、函数参数

    1.形参与实参定义

    2.实参分类

    3.形参分类

    4.可变参数的整体使用

    一、形参与实参定义

    def fn(参数们):

    pass

    1.1 形参

    定义函数,在括号内声明的变量名,用来接外面传来的值

    1.2 实参

    调用函数,在括号内传入的实际值,值可以为常量,变量,表达式或三者的组合

    注:

    1.形参随着函数的调用而产生,随函数调用结束而销毁(有特例)

    2.在函数的外部不能直接使用函数的形参,原因:函数调用结束后,形参会被销毁

    3.外部产生了的变量,内部可以使用

    4.在函数调用()中出现的参数(外界实际存在的值):实参

    5.调用函数时,实参可以有常量,变量,表达式或三种的组合

    二、实参分类

    2.1 位置参数

    不用明确形参名的传参方式,一定按照位置给形参(必须按照顺序)

    def fn1(a, b, c):

    print(a, b, c)

    # 位置实参:必须按照顺序

    fn1(10, 20, 30)

    fn1(30, 20, 10)

    2.2 关键字参数

    必须明确形参的名字和为形参传值,可以不按照位置(可以不按顺序传递,形参按名字取值)

    def fn1(a, b, c):

    print(a, b, c)

    # 关键字传参:可以不按照顺序传递,形参按名字取值

    fn1(a=10,b=20,c=30)

    fn1(c=30,b=20,a=10)

    2.3 二者混用

    1.关键字实参必须出现在位置实参之后

    2.多个位置实参按位置传参

    3.关键字形参从关键字实参处拿值,可以不用按照指定顺序

    # 两者混用:关键字实参必须出现在位置实参之后

    def fn2(a, b, c, d, e, f):

    print(a, b, c, d, e, f)

    fn2(10, 20, 30, e=100, f=500, d=200)

    ps: 实参的作用:为形参传递值

    三、形参分类

    3.1 位置形参:

    可以由位置实参或关键字实参来传值

    # 位置形参

    def fn3(a,b,c):

    print(a,b,c)

    fn3(1,2,3)

    3.2 默认形参:

    具有默认值,用 '=' 进行赋值,可以是 位置实参与关键字实参,还可以不传值(采用默认值)

    # 默认形参具有默认值,用 = 进行赋值

    def fn4(a=10,b=20):

    print(a,b)

    # 默认形参可以由 位置实参 与 关键字实参 来传值,还可以不用传值

    fn4(20,30)

    fn4(a=200,b=300)

    fn4(100)

    fn4(b = 100)

    3.3 可变长位置形参:

    只能由位置实参来传值

    # 可变长形参只能由 位置实参 来传值

    def fn6(a,b,*args):

    print(a,b)

    print(args)

    fn6(1,20,30,40,50)

    3.4 无初值关键字形参:

    必须由关键字实参来传值,出现在 * 后的都是关键字形参

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

    print(a,b)

    print(c,d)

    fn7(1,20,c=30,d=40)

    3.5 有初值关键字形参:

    可以由关键字实参来传值,也可以不传值

    def fn8(a,b,*,c=10,d=20):

    print(a,b)

    print(c,d)

    fn8(1,20) # 有初值关键字形参,不传参数,则输出默认值

    3.6 可变长关键字形参:

    与无初值关键字形参类似,同样需要传值

    def fn(*, a, b=20, c, **kwargs):

    print(a, b)

    print(kwargs)

    fn(d=40, e=50, a=10, c=30) # 以关键字形式传入实参,输出 字典类型

    注:

    1.各种形参出现的先后 :

    位置形参 - 默认形参 - 可变长位置形参 - 无 | 有初值关键字形参 - 可变长关键字参数

    2.可变长形参会以元组形式接收位置形参与默认形参未接收完的所有传入的位置实参

    3.可变长关键字形参:

    用来接收被没有被关键字形参接收玩的关键字形参,也只能由关键字实参来传值,用字典来存放数据

    ps:可变长形参只能接收位置实参的值,位置实参还必须在关键字实参前,导致默认形参只能由位置实参来传值

    重点:可变长位置形参整体赋值

    四、可变参数的整体使用

    # 可变长位置形参整体赋值

    def fn7(*args):

    print(args)

    fn7(1,2,3,4,5,6)

    # 单列集合(保护字符串)将该变量进行 打散 传值

    # 打散

    def fn8(*args):

    print(args)

    ls = [1,2,3,4,5]

    fn8(ls) # ([1, 2, 3, 4, 5],)

    fn8(*ls)

    # 将ls 打散为1,2,3,4,5 再传值 => (1,2,3,4,5,)

    # 可以理解为,将数组的所有值全部赋值给形参

    # ---关键字形参------------

    # 整体赋值

    dic = {'name': 'Owen', 'age': 18}

    def fn1(**kwargs):

    print(kwargs)

    fn1(**dic)

    dd = {

    'k1': [1, 2, 3, 4, 5],

    'k2': {"name":"Bob"}

    }

    fn1(**dd)

    def fn2(*args):

    print(args)

    ll = [1, [1, 2], {"name":"Bob"}]

    fn2(*ll) # (1, [1, 2], {"name":"Bob"})

    展开全文
  • js 形参与实参

    2021-03-27 17:15:13
    函数的形参与实参,形参是接收实参的. <script> function getname(a){ //a就是形参,形参可以多个,数量无限 console.log(a); } getname('我是实参'); </script>

    函数的形参与实参,形参是接收实参的.

    <script>
            function getname(a){ //a就是形参,形参可以多个,数量无限
                console.log(a);
            }
            getname('我是实参');
    </script>

     

    展开全文
  • C语言形参与实参详解

    2020-04-06 15:55:57
    在使用函数的时候,会进行实参与形参之间的值传递。 在实参传递给形参,供其使用完之后,形参值随即会被释放。 在形参与实参相互转化的时候,有的时候回改变实参的值,但是有的时候不会改变实参的值,在指...
  • 形参与实参区别

    2020-06-23 20:24:19
    这里写自定义目录标题形参与实参区别欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定...
  • Java形参与实参的理解

    2020-10-24 21:21:30
    形参与实参的理解
  • 形参与实参 形参:在定义函数阶段定义的参数称之为...实参与形参的绑定关系在函数调用时生效,函数调用结束后解除绑定关系 实参传入的值,可以有以下几种形式: 形式一: func(1,2) 形式二: a=1 b=2 func(a,b) 形式

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 134,797
精华内容 53,918
关键字:

形参与实参