精华内容
下载资源
问答
  • 从n个人中选m个人参加活动,一共有多少种选法?下面的函数实现了这个功能。 请仔细分析代码,填写缺少的部分(下划线部分)。 注意:请把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答....
    /*	组合数
    从4个人中选2个人参加活动,一共有6种选法。
    从n个人中选m个人参加活动,一共有多少种选法?下面的函数实现了这个功能。
    请仔细分析代码,填写缺少的部分(下划线部分)。
    注意:请把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。
    直接写在题面中不能得分。
     */
    public class 组合数 {
    	// n 个元素中任取 m 个元素,有多少种取法
    	public static int f(int n, int m){
    		if(m>n) return 0;
    		if(m==0) return 1;
    
    		return f(n-1,m-1) + f(n-1,m);	// 填空
    	}
    	public static void main(String[] args){
    		System.out.println(f(4,2));
    	}
    }
    运行结果:
    6
    

    展开全文
  • js系列教程4-函数、函数参数教程全解js中的4种函数调用模式javascript一共有4种调用模式:函数调用模式、方法调用模式、构造器调用模式和间接调用模式。【1】函数调用模式 当一个函数并非一个对象的属性时,那么它...
    
        ad1.jpg
    

    全栈工程师开发手册 (作者:栾鹏)

    js系列教程4-函数、函数参数教程全解

    js中的4种函数调用模式

    javascript一共有4种调用模式:函数调用模式、方法调用模式、构造器调用模式和间接调用模式。

    【1】函数调用模式

    当一个函数并非一个对象的属性时,那么它就是被当做一个函数来调用的。对于普通的函数调用来说,函数的返回值就是调用表达式的值

    function add(x,y){
        return x+y;
    }
    var sum = add(3,4);
    console.log(sum)//7
    

    使用函数调用模式调用函数时,非严格模式下,this被绑定到全局对象;在严格模式下,this是undefined

    function add(x,y){
        console.log(this);//window
    }    
    add();
    
    function add(x,y){
        'use strict';
        console.log(this);//undefined
    }    
    add();//window
    

    因此,'this’可以用来判断当前是否是严格模式

    var strict = (function(){return !this;}());
    

    重写

    因为函数调用模式的函数中的this绑定到全局对象,所以会发生全局属性被重写的现象

    var a = 0;
    function fn(){
        this.a = 1;
    }
    fn();
    console.log(this,this.a,a);//window 1 1
    

    【2】方法调用模式

    当一个函数被保存为对象的一个属性时,我们称它为一个方法。当一个方法被调用时,this被绑定到该对象。如果调用表达式包含一个提取属性的动作,那么它就是被当做一个方法来调用

    var o = {
        m: function(){
            console.log(1);
        }
    };
    o.m();//1
    

    方法可以使用this访问自己所属的对象,所以它能从对象中取值或对对象进行修改。this到对象的绑定发生在调用的时候。通过this可取得它们所属对象的上下文的方法称为公共方法。

    var o = {
        a: 1,
        m: function(){
            return this;
        },
        n: function(){
            this.a = 2;
        }
    };
    console.log(o.m().a);//1
    o.n();
    console.log(o.m().a);//2
    

    任何函数只要作为方法调用实际上都会传入一个隐式的实参——这个实参是一个对象,方法调用的母体就是这个对象,通常来讲,基于那个对象的方法可以执行多种操作,方法调用的语法已经很清晰地表明了函数将基于一个对象进行操作

    rect.setSize(width,height);
    setRectSize(rect,width,height);
    

    假设上面两行代码的功能完全一样,它们都作用于一个假定的对象rect。可以看出,第一行的方法调用语法非常清晰地表明这个函数执行的载体是rect对象,函数中的所有操作都将基于这个对象

    和变量不同,关键字this没有作用域的限制,嵌套的函数不会从调用它的函数中继承this。如果嵌套函数作为方法调用,其this的值指向调用它的对象。如果嵌套函数作为函数调用,其this值不是全局对象(非严格模式下)就是undefined(严格模式下)

    var o = {
        m: function(){
             function n(){
                 return this;
             }
             return n();
        }
    }
    console.log(o.m());//window
    
    
    var o = {
        m: function(){
             function n(){
                 'use strict';
                 return this;
             }
             return n();
        }
    }
    console.log(o.m());//undefined
    

    如果想访问这个外部函数的this值,需要将this的值保存在一个变量里,这个变量和内部函数都同在一个作用域内。通常使用变量self或that来保存this

    var o = {
        m: function(){
            var self = this;
            console.log(this === o);//true
             function n(){
                 console.log(this === o);//false
                 console.log(self === o);//true
                 return self;
             }
             return n();
        }
    }
    console.log(o.m() === o);//true
    

    【3】构造函数调用模式

    如果函数或者方法调用之前带有关键字new,它就构成构造函数调用

    
    function fn(){
        this.a = 1;
    };
    var obj = new fn();
    console.log(obj.a);//1
    

    如果构造函数调用在圆括号内包含一组实参列表,先计算这些实参表达式,然后传入函数内

    function fn(x){
        this.a = x;
    };
    var obj = new fn(2);
    console.log(obj.a);//2
    

    如果构造函数没有形参,javascript构造函数调用的语法是允许省略实参列表和圆括号的。凡是没有形参的构造函数调用都可以省略圆括号

    var o = new Object();
    //等价于
    var o = new Object;
    

    [注意]尽管构造函数看起来像一个方法调用,它依然会使用这个新对象作为调用上下文。也就是说,在表达式new o.m()中,调用上下文并不是o

    var o = {
        m: function(){
            return this;
        }
    }
    var obj = new o.m();
    console.log(obj,obj === o);//{} false
    console.log(obj.constructor === o.m);//true
    

    构造函数通常不使用return关键字,它们通常初始化新对象,当构造函数的函数体执行完毕时,它会显式返回。在这种情况下,构造函数调用表达式的计算结果就是这个新对象的值

    function fn(){
        this.a = 2;
    }
    var test = new fn();
    console.log(test);//{a:2}
    

    如果构造函数使用return语句但没有指定返回值,或者返回一个原始值,那么这时将忽略返回值,同时使用这个新对象作为调用结果

    function fn(){
        this.a = 2;
        return;
    }
    var test = new fn();
    console.log(test);//{a:2}
    

    如果构造函数显式地使用return语句返回一个对象,那么调用表达式的值就是这个对象

    var obj = {a:1};
    function fn(){
        this.a = 2;
        return obj;
    }
    var test = new fn();
    console.log(test);//{a:1}
    

    【4】间接调用模式

    javascript中函数也是对象,函数对象也可以包含方法。call()和apply()方法可以用来间接地调用函数

    这两个方法都允许显式指定调用所需的this值,也就是说,任何函数可以作为任何对象的方法来调用,哪怕这个函数不是那个对象的方法。两个方法都可以指定调用的实参。call()方法使用它自有的实参列表作为函数的实参,apply()方法则要求以数组的形式传入参数

    var obj = {};
    function sum(x,y){
        return x+y;
    }
    console.log(sum.call(obj,1,2));//3
    console.log(sum.apply(obj,[1,2]));//3
    
    展开全文
  • 函数根据没有参数,没有返回值,可以相互组合,一共有4 * 无参数,无返回值 * 无参数,返回值 * 参数,无返回值 * 参数,返回值 <1>无参数,无返回值的函数此类函数,不能接收参数,也...

    函数根据有没有参数,有没有返回值,可以相互组合,一共有4种
    * 无参数,无返回值
    * 无参数,有返回值
    * 有参数,无返回值
    * 有参数,有返回值

    <1>无参数,无返回值的函数此类函数,不能接收参数,也没有返回值,一般情况下,打印提示灯类似的功能,使用这类的函数 def printMenu(): print(’--------------------------’) print(’ xx涮涮锅 点菜系统’) print(’’) print(’ 1. 羊肉涮涮锅’) print(’ 2. 牛肉涮涮锅’) print(’ 3. 猪肉涮涮锅’) print(’--------------------------’)<2>无参数,有返回值的函数此类函数,不能接收参数,但是可以返回某个数据,一般情况下,像采集数据,用此类函数 # 获取温度 def getTemperature(): #这里是获取温度的一些处理过程 #为了简单起见,先模拟返回一个数据 return 24 temperature = getTemperature() print(‘当前的温度为:%d’%temperature)结果: 当前的温度为: 24<3>有参数,无返回值的函数此类函数,能接收参数,但不可以返回数据,一般情况下,对某些变量设置数据而不需结果时,用此类函数<4>有参数,有返回值的函数此类函数,不仅能接收参数,还可以返回某个数据,一般情况下,像数据处理并需要结果的应用,用此类函数 # 计算1~num的累积和 def calculateNum(num): result = 0 i = 1 while i<=num: result = result + i i+=1 return result result = calculateNum(100) print(‘1~100的累积和为:%d’%result)结果: 1~100的累积和为: 5050<5>小总结
    * 函数根据有没有参数,有没有返回值可以相互组合
    * 定义函数时,是根据实际的功能需求来设计的,所以不同开发人员编写的函数类型各不相同

    函数的嵌套调用
    一个函数里面又调用了另外一个函数,这就是所谓的函数嵌套调用
    如果函数A中,调用了另外一个函数B,那么先把函数B中的任务都执行完毕之后才会回到上次 函数A执行的位置

    变量起作用的代码范围称为变量的作用域,不同作用域内同名变量之间互不影响就像不同文件夹的同名文件间互不影响一样。一个变量在函数外部定义和在内部定义,其作用域是不同的,函数内部定义的变量一般称为局部变量在函数外部定义的变量一般称为去全局变量局部变量
    * 局部变量,就是函数内部定义的变量
    * 不同的函数,可以定义相同的名字的局部变量,但是各用个的互不影响
    * 局部变量的作用,为了临时保存数据需要在函数中定义变量来进行存储,这就是他的作用

    在函数内部定义的普通变量值在该函数内起作用,当函数运行结束后,在其内部定义的局部变量将被自动删除而不可访问。在函数内部定义的全局变量当函数结束后仍然存在并且可以访问全局变量
    * 如果一个变量,既能在一个函数中使用,也能在其他函数中使用,这样的变量就是全局变量

    定义全局变量a = 100def test1():print(a)def test2():print(a)# 调用函数test1()test2()注意修改全局变量既然全局变量,就是能够在所有的函数中进行使用,那么可否进行修改呢?1、在函数外边定义的变量叫做全局变量2、全局变量能够在所有的函数中进行访问3、如果在函数中修改全局变量,那么就需要使用global进行声明,否则出错4、如果全局变量的名字和局部变量的名字相同,那么使用的是局部变量的,强龙不压地头蛇>>> a = 1>>> def f():… a += 1… print (a)…>>> f()Traceback (most recent call last):File “”, line 1, in File “”, line 2, in fUnboundLocalError: local variable ‘a’ referenced before assignment>>>>>>>>> li = [1,]>>> def f2():… li.append(1)… print li…>>> f2()[1, 1]>>> li[1, 1]1、在函数中不使用global声明全局变量时不能修改全局变量的本质是不能修改全局变量的指向,即不能将全局变量指向新的数据。2、对于不可变类型的全局变量来说,因其指向的数据不能修改,所以不使用global时无法修改全局变量。3、对于可变类型的全局变量来说,因其指向的数据可以修改,所以不使用global时也可修改全局变量。

    展开全文
  • ① 类内自定义构造函数...  此时该类一共有2个构造函数:自定义构造函数和自定义复制构造函数。 ② 类内自定义构造函数,无任何复制构造函数   根据C++标准定义,自定义构造函数,则无默认构造函数;无自...
    ① 类内有自定义构造函数和自定义复制构造函数

      根据C++标准定义,如果程序已定义构造函数,默认情况下编译器就不再隐含生成默认构造函数。注意,这里的“构造函数”包括复制构造函数(因为复制构造函数也是构造函数的一种)。

      此时该类一共有2个构造函数:自定义构造函数和自定义复制构造函数。

    ② 类内有自定义构造函数,无任何复制构造函数

      根据C++标准定义,有自定义构造函数,则无默认构造函数;无自定义复制构造函数,则隐含生成默认复制构造函数。下面使用代码检验:

    #include <iostream>
    using namespace std;
    
    class A{
    public:
    	int x;
    	A(int x_=0): x(x_){}
    };
    
    int main()
    {
    	A a;
    	cout << a.x << endl;
    	A b(a);	//这里调用了默认复制构造函数
    	cout << b.x << endl;
    
    	return 0;
    }
    

    代码能正确执行;

      类A中没用声明任何复制构造函数,但是可以执行A b(a);说明编译器隐含生成了默认复制构造函数(使用单步跟踪检验,确实如此)。

      此时该类一共有2个构造函数:自定义构造函数和默认复制构造函数。

    ③ 类内无任何构造函数,无任何复制构造函数

      根据C++标准定义,编译器应该隐含生成默认构造函数和默认复制构造函数。下面用代码检验:

    #include <iostream>
    using namespace std;
    
    class A{
    public:
    	int x=0;/*注:可能在早期的C++版本中,类的数据成员不能在声明时进行初始化,
    			但是在C++11新标准下,类的数据成员可以在声明时进行初始化,但不建议,
    			因为这样做破坏了类的抽象性)*/
    };
    
    int main()
    {
    	A a;	//这里调用了默认构造函数
    	cout << a.x << endl;
    	A b(a);	//这里调用了默认复制构造函数
    	cout << b.x << endl;
    
    	return 0;
    }
    

    代码能正确执行;

      注意到,类的数据成员x在声明时同时定义了初始值。可能在早期的C++版本中,类的数据成员不能在声明时进行初始化,但是在C++11新标准下,类的数据成员可以在声明时进行初始化,但不建议,因为这样做破坏了类的抽象性。

      此时该类一共有2个构造函数:默认构造函数和默认复制构造函数。

    ⭐④ 类内无任何构造函数,有自定义复制构造函数

      (情况④较为特殊,应重点注意)
      按照C++标准,编译器应该隐含生成默认构造函数,事实是否如此?下面用代码来检验:

    #include <iostream>
    using namespace std;
    
    class A{
    public:
    	int x=0;
    	A(A &a){ }
    };
    
    int main()
    {
    	A a; //编译器提示错误,错误信息:类A不存在默认构造函数
    	cout << a.x << endl;
    	A b(a);	//这里调用了默认复制构造函数
    	cout << b.x << endl;
    
    	return 0;
    }
    

      代码执行错误,编译器并没有隐含生成默认构造函数。

      此时该类一共有1个构造函数:自定义复制构造函数。

    PS C++11新标准中,默认构造函数和默认复制构造函数的一些新特性
    展开全文
  • Python-函数(二)-函数的四类型

    千次阅读 2017-05-14 14:17:07
    函数根据没有参数,没有返回值,可以相互组合,一共有4 无参数,无返回值 无参数,无返回值 参数,无返回值 参数,返回值 无参数,无返回值的函数此类函数,不能接收参数,也没有返回值,一般情况下,...
  • Kotlin系列之let、with、run、apply、also函数的使用

    万次阅读 多人点赞 2017-12-12 21:59:53
    一、回调函数的Kotin的lambda的简化 二、内联扩展函数之let 三、内联函数之with 四、内联扩展函数之run 五、内联扩展函数之apply 六、内联扩展函数之also 七、let,with,run,apply,also函数区别 简述: 相比Java, ...
  • // n级台阶,求多少种跳法.cpp : Defines the entry point for the console application. // /* 思路: 如果只有一级台阶,n=1,很明显只有一跳法 如果两级台阶,n=2,则跳法,一是跳两下1级,一是直接...
  • C++中的几构造函数

    千次阅读 2018-09-25 09:56:35
    看了大神的博客,感觉很厉害,果断转了 C++中的构造函数 C++中的构造函数可以分为4类: ...//参数 (3)复制(拷贝)构造函数 Student(Student&amp;);//形参是本类对象的引用 (4)...
  • 虽然各个数据库都是支持SQL语句的,但是每一个数据库也每一个数据库自己所支持的操作函数,这些就是单行函数,而如果要想进行数据库开发的话,除了要会使用SQL之外 ,就是要多学习函数。 单行函数主要分为以下五类...
  • 利用fgets()函数来判断一个文件有多少行。
  • 回归问题中5常用损失函数

    千次阅读 2019-01-15 17:22:41
    作者:sjokes ... ...实际应用中,选取损失函数需要从多个角度考虑,如是否异常值、算法、求导难度、预测值的置信度等等。 损失函数可分为两大类,分类问题的损失函数和回归问题的损失函数, 本...
  • 损失函数 目标函数

    千次阅读 2017-03-20 17:16:08
    损失函数,目标函数都是用来衡量,模型在该参数下的好坏。...MLE最大似然估计就是一简单的衡量参数的目标函数。 ------------------------------------------------------------------------------
  • 典型的动态规划问题,和
  • python函数

    万次阅读 2018-11-24 13:57:46
    文章目录函数是什么?定义在python如何具体定义一个函数函数返回值函数参数关键参数默认...函数一词来源于数学,但编程中的「函数」概念,与数学中的函数很大不同的,在C中只有function,在Java里面叫做metho...
  • android webView调用js函数的几方法

    万次阅读 2014-09-24 16:52:37
    最近在研究webView与js的交互,发现一共有方式,一是直接调用网页中的js函数,这种是网页端写好的js函数。另一是加载本地写好的js文件,将内容注入到网页内,然后在调用。
  • 一个11个生命周期函数, 分别是: beforeCreate : 创建Vue实例前的时候执行, created : 创建Vue实例完成后执行, beforeMount : Vue实例开始渲染前执行, mounted : Vue实例渲染完成后执行, beforeUpdate:...
  • javascript的执行函数的四方式

    千次阅读 2016-08-16 16:28:42
    javascript的函数调用和构造函数调用函数调用、方法调用以及构造函数调用1 函数调用Function绝对是JavaScript中的重中之重。在JavaScript中,Function承担了procedures, methods, constructors甚至是classes以及...
  • 聚合函数

    千次阅读 2018-08-21 22:36:42
    SQL SERVER中一共有5个聚合函数函数 说明 AVG() 返回某列的平均值 COUNT() 返回某列的行数 MAX() 返回某列的最大值 MIN() 返回某列的最小值 SUM() 返回某列值之和   1.AVG(列名)  SELECT AV...
  • 损失函数

    千次阅读 2017-10-12 13:56:13
    损失函数(loss function)是用来估量你模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心部分,也是结构...
  • Hive窗口函数Over和排序函数Rank

    千次阅读 2018-08-13 20:33:39
    简介 本文主要介绍hive中的窗口函数.hive中的窗口函数...我们都知道在sql中一类函数叫做聚合函数,例如sum()、avg()、max()等等,这类函数可以将多行数据按照规则聚集为一行,一般来讲聚集后的行数是要少于聚集前的...
  • 大数据自定义函数udf

    万次阅读 2020-10-23 17:30:30
    UDF函数一共分为三类型: ​ UDF-一进一出,给定一个参数,输出一个处理后的数据 ​ UDAF-多进一出,属于聚合函数,类似于count、sum等函数 ​ UDTF-一进多出,属于一个参数,返回一个列表作为结果 #在sql中可以...
  • 在下一篇详细剖析虚函数及虚函数表的过程中,我发现有关函数重载,函数覆盖,函数重写和函数协变的知识也要理解清楚才能对虚函数表在内存中的布局,对派生类的对象模型以及对多态的实现更深的理解。 所以这一篇...
  • 论文阅读+代价函数+激活函数

    千次阅读 2018-04-02 16:43:21
    =================第一部分 代价函数====================代价函数=损失函数 在机器学习中的每一算法中,训练模型的过程就是优化代价函数的过程。代价函数对每个参数的偏导数就是梯度下降中提到的梯度,防止过...
  • openGL函数

    千次阅读 2012-08-02 13:51:52
    OpenGL图形库一共有100多个函数,它们分别属于OpenGL的基本库、实用库、辅助库等不同的库。 1、核心库,包含的函数有115个,它们是最基本的函数,其前缀是gl;这部分函数用于常规的、核心的图形处理,由gl.dll来...
  • 常用语句练习和回顾。日期函数。字符串函数。数学函数
  • 深入函数(上)

    千次阅读 2019-12-29 15:39:49
    文章目录 函数是什么 函数的定义 函数的参数和返回值 函数的返回值 函数是什么 函数是完成某个特定功能的一组语句。如没有函数,完成任务...函数的定义方式通常函数声明方式、函数表达式、 使用Func...
  • 损失函数loss

    万次阅读 2014-04-12 16:43:39
    损失函数(loss function)是用来估量你模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。 损失函数是经验风险函数的核心部分,也是...
  • 13.python-函数进阶

    千次阅读 2019-11-26 01:11:51
    函数根据 没有参数 以及 没有返回值,可以 相互组合,一共有 4 组合形式 无参数,无返回值 无参数,返回值 参数,无返回值 参数,返回值 定义函数时,是否接收参数,或者是.....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 177,896
精华内容 71,158
关键字:

一共有多少种函数