精华内容
下载资源
问答
  • 2018-10-24 23:19:29

    javascript函数一共可分为五类:
    •常规函数
    •数组函数
    •日期函数
    •数学函数
    •字符串函数

    1.常规函数

    javascript常规函数包括以下9个函数:
    (1)alert函数:显示一个警告对话框,包括一个OK按钮。
    (2)confirm函数:显示一个确认对话框,包括OK、Cancel按钮。
    (3)escape函数:将字符转换成Unicode码。
    (4)eval函数:计算表达式的结果。
    (5)isNaN函数:测试是(true)否(false)不是一个数字。
    (6)parseFloat函数:将字符串转换成符点数字形式。
    (7)parseInt函数:将符串转换成整数数字形式(可指定几进制)。
    (8)prompt函数:显示一个输入对话框,提示等待用户输入。例如:

    <script language="javascript">  
    <!--  
    alert("输入错误");  
    prompt("请输入您的姓名","姓名");  
    confirm("确定否!");  
    //-->   
    script>  
    

    (9)unescape函数:解码由escape函数编码的字符。

    2.数组函数

    javascript数组函数包括以下4个函数:
    (1)join函数:转换并连接数组中的所有元素为一个字符串。例:

    function JoinDemo()  
    {  
    var a, b;  
    a = new Array(0,1,2,3,4);  
    b = a.join("-");//分隔符   
    return(b);//返回的b=="0-1-2-3-4"   
    }  
    

    (2)length函数:返回数组的长度。例:

    function LengthDemo()  
    {  
    var a, l;  
    a = new Array(0,1,2,3,4);  
    l = a.length;  
    return(l);//l==5   
    }  
    

    (3)reverse函数:将数组元素顺序颠倒。例:

    function ReverseDemo()  
    {  
    var a, l;  
    a = new Array(0,1,2,3,4);  
    l = a.reverse();  
    return(l);  
    }  
    

    (4)sort函数:将数组元素重新排序。例:

    function SortDemo()  
    {  
    var a, l;  
    a = new Array("X" ,"y" ,"d", "Z", "v","m","r");  
    l = a.sort();  
    return(l);  
    }  
    

    3.日期函数

    javascript日期函数包括以下20个函数:
    (1)getDate函数:返回日期的"日"部分,值为1~31。例:

    function DateDemo()  
    {  
    var d, s = "Today's date is: ";  
    d = new Date();  
    s += (d.getMonth() + 1) + "/";  
    s += d.getDate() + "/";  
    s += d.getYear();  
    return(s);  
    }  
    

    (2)getDay函数:返回星期几,值为0~6,其中0表示星期日,1表示星期一,…,6表示星期六。例:

    function DateDemo()  
    {  
    var d, day, x, s = "Today is: ";  
    var x = new Array("Sunday", "Monday", "Tuesday");  
    var x = x.concat("Wednesday","Thursday", "Friday");  
    var x = x.concat("Saturday");  
    d = new Date();  
    day = d.getDay();  
    return(s += x[day]);  
    }  
    

    (3)getHouse函数:返回日期的"小时"部分,值为0~23。例。

    function TimeDemo()  
    {  
    var d, s = "The current local time is: ";  
    var c = ":";  
    d = new Date();  
    s += d.getHours() + c;  
    s += d.getMinutes() + c;  
    s += d.getSeconds() + c;  
    s += d.getMilliseconds();  
    return(s);  
    }  
    

    (4)getMinutes函数:返回日期的"分钟"部分,值为0~59。见上例。
    (5)getMonth函数:返回日期的"月"部分,值为0~11。其中0表示1月,2表示3月,…,11表示12月。见前面的例子。
    (6)getSeconds函数:返回日期的"秒"部分,值为0~59。见前面的例子。
    (7)getTime函数:返回系统时间。

    function GetTimeTest()  
    {  
    var d, s, t;  
    var MinMilli = 1000 * 60;  
    var HrMilli = MinMilli * 60;  
    var DyMilli = HrMilli * 24;  
    d = new Date();  
    t = d.getTime();  
    s = "It's been "  
    s += Math.round(t / DyMilli) + " days since 1/1/70";  
    return(s);  
    }  
    

    (8)getTimezoneOffset函数:返回此地区的时差(当地时间与GMT格林威治标准时间的地区时差),单位为分钟。

    function TZDemo()  
    {  
    var d, tz, s = "The current local time is ";  
    d = new Date();  
    tz = d.getTimezoneOffset();  
    if (tz < 0)  
    s += tz / 60 + " hours before GMT";  
    else if (tz == 0)  
    s += "GMT";  
    else  
    s += tz / 60 + " hours after GMT";  
    return(s);  
    }  
    

    (9)getYear函数:返回日期的"年"部分。返回值以1900年为基数,例如1999年为99。前面有例子。
    (10)parse函数:返回从1970年1月1日零时整算起的毫秒数(当地时间)。

    function GetTimeTest(testdate)  
    {  
    var d, s, t;  
    var MinMilli = 1000 * 60;  
    var HrMilli = MinMilli * 60;  
    var DyMilli = HrMilli * 24;  
    d = new Date();  
    t = Date.parse(testdate);  
    s = "There are "  
    s += Math.round(Math.abs(t / DyMilli)) + " days "  
    s += "between " + testdate + " and 1/1/70";  
    return(s);  
    }  
    

    (11)setDate函数:设定日期的"日"部分,值为0~31。
    (12)setHours函数:设定日期的"小时"部分,值为0~23。
    (13)setMinutes函数:设定日期的"分钟"部分,值为0~59。
    (14)setMonth函数:设定日期的"月"部分,值为0~11。其中0表示1月,…,11表示12月。
    (15)setSeconds函数:设定日期的"秒"部分,值为0~59。
    (16)setTime函数:设定时间。时间数值为1970年1月1日零时整算起的毫秒数。
    (17)setYear函数:设定日期的"年"部分。
    (18)toGMTString函数:转换日期成为字符串,为GMT格林威治标准时间。
    (19)setLocaleString函数:转换日期成为字符串,为当地时间。
    (20)UTC函数:返回从1970年1月1日零时整算起的毫秒数,以GMT格林威治标准时间计算。

    4.数学函数

    javascript数学函数其实就是Math对象,它包括属性和函数(或称方法)两部分。其中,属性主要有下列内容。
    Math.e:e(自然对数)、Math.LN2(2的自然对数)、Math.LN10(10的自然对数)、Math.LOG2E(e的对数,底数为 2)、Math.LOG10E(e的对数,底数为10)、Math.PI(π)、Math.SQRT1_2(1/2的平方根值)、Math.SQRT2 (2的平方根值)。
    函数有以下18个:
    (1)abs函数:即Math.abs(以下同),返回一个数字的绝对值。
    (2)acos函数:返回一个数字的反余弦值,结果为0~π弧度(radians)。
    (3)asin函数:返回一个数字的反正弦值,结果为-π/2~π/2弧度。
    (4)atan函数:返回一个数字的反正切值,结果为-π/2~π/2弧度。
    (5)atan2函数:返回一个坐标的极坐标角度值。
    (6)ceil函数:返回一个数字的最小整数值(大于或等于)。
    (7)cos函数:返回一个数字的余弦值,结果为-1~1。
    (8)exp函数:返回e(自然对数)的乘方值。
    (9)floor函数:返回一个数字的最大整数值(小于或等于)。
    (10)log函数:自然对数函数,返回一个数字的自然对数(e)值。
    (11)max函数:返回两个数的最大值。
    (12)min函数:返回两个数的最小值。
    (13)pow函数:返回一个数字的乘方值。
    (14)random函数:返回一个0~1的随机数值。
    (15)round函数:返回一个数字的四舍五入值,类型是整数。
    (16)sin函数:返回一个数字的正弦值,结果为-1~1。
    (17)sqrt函数:返回一个数字的平方根值。
    (18)tan函数:返回一个数字的正切值。

    5.字符串函数

    javascript字符串函数完成对字符串的字体大小、颜色、长度和查找等操作,共包括以下20个函数:
    (1)anchor函数:产生一个链接点(anchor)以作超级链接用。anchor函数设定的链接点的名称,另一个函数link设定的URL地址。
    (2)big函数:将字体加到一号,与…标签结果相同。
    (3)blink函数:使字符串闪烁,与…标签结果相同。
    (4)bold函数:使字体加粗,与…标签结果相同。
    (5)charAt函数:返回字符串中指定的某个字符。
    (6)fixed函数:将字体设定为固定宽度字体,与…标签结果相同。
    (7)fontcolor函数:设定字体颜色,与标签结果相同。
    (8)fontsize函数:设定字体大小,与标签结果相同。
    (9)indexOf函数:返回字符串中第一个查找到的下标index,从左边开始查找。
    (10)italics函数:使字体成为斜体字,与…标签结果相同。
    (11)lastIndexOf函数:返回字符串中第一个查找到的下标index,从右边开始查找。
    (12)length函数:返回字符串的长度。(不用带括号)
    (13)link函数:产生一个超级链接,相当于设定的URL地址。
    (14)small函数:将字体减小一号,与…标签结果相同。
    (15)strike函数:在文本的中间加一条横线,与…标签结果相同。
    (16)sub函数:显示字符串为下标字(subscript)。
    (17)substring函数:返回字符串中指定的几个字符。
    (18)sup函数:显示字符串为上标字(superscript)。
    (19)toLowerCase函数:将字符串转换为小写。
    (20)toUpperCase函数:将字符串转换为大写。
    (22)trim函数:去掉字符串的前后空格。

    标识可放入<Head>... </Head>之间。将JavaScript标识放置在头部之间,使之在主页和其余部分代码之前装载,从而可使代码的功能更强大;将JavaScript标识放置在<Body>... </Body>主体之间以实现某些部分动态地创建文档。

    通过标识说明:若不认识JavaScript代码的浏览器,则所有在其中的标识均被忽略;若认识,则执行其结果。使用注释这是一个好的编程习惯,它使其他人可以读懂你的语言。

    1. alert()是JavaScript的窗口对象方法,其功能是弹出一个具有OK对话框并显示()中的字符串。
      比如:

    2. Document. write()是文档对象的输出函数,其功能是将括号中的字符或变量值输出到窗口;document. close()是将输出关闭。
      比如:

    3. window.external.AddFavorite(' ', '希望网络技术站') 提示把网站加入收藏夹
      onload=favorate() 要加在标签处,如:
      ※ 如果你想在离开网页时提示加为收藏夹,只需要把
      onunload=favorate() 改成 onload=favorate() 即可

    4. close()//关闭窗口,如果窗口不是用脚本打开的,会弹出确认对话框。
      如:退出系统或
      退出系统
      给我联系

    5. confirm() //弹出“确定/取消”对话框

    6. function document.oncontextmenu()// 禁止鼠标右键;

    7. function document.onselectstart()// 禁止选取

    8. window.prompt()就是一个窗口对象的方法,其基本作用是,当装入Web页面时在屏幕上显示一个具有“确定”和“取消”的对话框,让你输出数据。
      alert()方法能创建一个具有OK按钮的对话框;
      confirm()方法为编程人员提供一个具有两个按钮的对话框;
      prompt()方法允许用户在对话框中输入信息,并可使用默认值,其基本格式如下:
      prompt(“提示信息”,默认值)

    9. Window .open()是打开一个新窗口。
      基本格式为:Window .open(“URL”,“窗口名字”,“窗口属性”)
      window属性参数是由一个字符串列表项它由逗号分隔,它指明了有关新创建窗口的属性。

    参 数          设定值             含 义 
    toolbar      yes/no  建立或不建立标准工具条 
    location     yes/no  建立或不建立位置输入字段 
    directions   yes/no  建立或不建立标准目录按钮 
    status       yes/no  建立或不建立状态条 
    menubar      yes/no  建立或不建立菜单条 
    scrollbar    yes/no  建立或不建立滚动条 
    revisable    yes/no  能否改变窗口大小 
    width        yes/no  确定窗口的宽度 
    Height       yes/no  确定窗口的高度。 
    
    1. 信息数据的输出显示。比较常用的有window.alert()document.write和及document.writln()方法。
      write()writeln()方法都是用于向浏览器窗口输出文本字串;二者的唯一区别就是writeln()方法自动在文本之后加入回车符。
      alert()方法是window对象的一个方法,因此在使用时,不需要写window窗口对象名,而是直接使用就行了。它主要用途用在输出时产生有关警告提示信息或提示用户,一旦用户按“确定”钮后,方可继续执行其他脚本程序。
    2. document.write(document.lastModified)可以产生最后修改日期。
      JavaScript 本身是会区分大小写的, lastmodifiedlastModified,在它看来是不同的结果。document.lastModified 参数在 Netscape 2.0 beta 2 版时是被写成documeut.lastmodified 的,然而,之後的版本就改为 document.lastModified。所以书写时要注意大小写。
    3. 在传统的标签中加入onMouseOvermethod,可以达到一定的效果。
      如:

    window.status是用来让你可以在WWW浏览器的状态列上显示一些讯息用的。在语法中, 你 可以看到讯息部分是用' 括起来的部分,而非以" 括起来,在讯息部分结束之后, 必须加上 ; return true
    可以用onMouseOvermethod配合事件发生时去呼叫函数。

    更多相关内容
  • 时频多种函数分析工具箱是一款方便实用的时频分析工具。想要对时频进行分析吗?那就来看看小编带来的这款时频多种函数分析工具箱。该工具主要用于计算线性时频和双线性时频分布函数,支持信号产生函数、噪声产生函数...
  • 代码 多种群遗传算法的函数优化算法代码代码 多种群遗传算法的函数优化算法代码代码 多种群遗传算法的函数优化算法代码代码 多种群遗传算法的函数优化算法代码代码 多种群遗传算法的函数优化算法代码代码 多种群遗传...
  • Sort()函数多种用法

    2020-09-02 15:05:54
    sort() 方法用于对数组的元素进行排序。接下来通过本文给大家介绍Sort()函数多种用法,对sort函数的用法相关知识感兴趣的朋友一起学习
  • 该代码包括了SVM的多核核函数的分类实现和可视化展示。
  • 多种群遗传算法-函数优化,matlab代码,修改目标函数即可,详细标注,扩展性强
  • BP神经网络Matlab实现,带GUI界面,多种数据选择,多种激活函数选择。主要是熟悉各种参数对神经网络的影响。相关介绍http://blog.csdn.net/hoho1151191150/article/details/79570281
  • 函数函数式编程 函数的定义 函数与过程 返回值与返回值类型 前向引用 内部/内嵌函数 函数装饰器 传递函数 参数的种类 位置参数 参数默认值 命名关键字参数 关键字参数:**others,便于函数功能的扩展 ...

    目录

    函数与函数式编程

    函数的定义

    函数与过程

    返回值与返回值类型

    前向引用

    内部/内嵌函数

    函数装饰器

    传递函数

    参数的种类

    位置参数

    参数默认值

    命名关键字参数

    关键字参数:**others,便于函数功能的扩展

    任意的参数列表 *others

    解包参数列表  

    解包参数列表  


    函数与函数式编程

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

    函数能提高应用的模块性,和代码的重复利用率。Python提供了许多内建函数,比如print()。我们也可以自己创建函数,这被叫做用户自定义函数。

    函数的定义

    我们可以定义一个由自己想要功能的函数,以下是简单的规则:

    函数代码块以def关键词开头,后接函数标识符名称和圆括号()。

    任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。

    函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。

    函数内容以冒号起始,并且缩进。

    return[表达式]结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回None。

    以创建一个输出任意范围内 Fibonacci 数列的函数为例:

    def fib(n):
        a,b=0,1
        while a<n:
            print(a,end=" ")
            a,b=b,a+b
        print()
    fib(2000)

    关键字def引入一个函数定义。它必须后跟函数名称和带括号的形式参数列表。构成函数体的语句从下一行开始,并且必须缩进。

    函数体的第一个语句可以(可选的)是字符串文字;这个字符串文字是函数的文档字符串或docstring。

    函数的执行会引入一个用于函数局部变量的新符号表。更确切地说,函数中所有的变量赋值都将存储在局部符号表中;而变量引用会首先在局部符号表中查找,然后是外层函数的局部符号表,再然后是全局符号表,最后是内置名称的符号表(变量作用域问题,之后会详细介绍)。因此,全局变量和外层函数的变量不能在函数内部直接赋值(除非是在global语句中定义的全局变量,或者是在nonlocal语句中定义的外层函数的变量),尽管它们可以被引用。

    在函数被调用时,实际参数(实参)会被引入被调用函数的本地符号表中;因此,实参是通过按值调用传递的(其中值始终是对象引用而不是对象的值)。当一个函数调用另外一个函数时,将会为该调用创建一个新的本地符号表。

    函数定义会把函数名引入当前的符号表中。函数名称的值具有解释器将其识别为用户定义函数的类型。这个值可以分配给另一个名称,该名称也可以作为一个函数使用。这用作一般的重命名机制:

    print(fib)
    f=fib
    f(
    100)

    上面这个函数是无返回值的函数,即没有return语句,默认返回None。一般来说解释器不会打印出单独的返回值None,如果真想看到它,可以使用print()

    print(fib(0))

    print(fib(1))

    写一个返回斐波那契数列的列表(而不是把它打印出来)的函数,非常简单:

    def fib2(n):
        result=[]
        a,b=0,1;
        while a<n:
            result.append(a)
            a,b=b,a+b
        return result
    f100=fib2(100)
    print(f100)

    函数与过程

    函数与过程都是可以被调用的实体,一般来说,函数有一定的返回值,过程是简单、特殊、没有返回值的函数。

    返回值与返回值类型

    当没有返回值时,Python的实际返回对象是None。

    当返回对象的数目为1时,Python的返回值类型是该对象的类型。

    当返回对象的数目大于1时,Python的返回值类型是元组。

    def fun1():
        pass
    print(fun1())
    def fun2():
        return '123'
    print(fun2())
    def fun_list():
        return ['123','xyz',456]
    print(fun_list())
    def fun_tuple1():
        return 1,2,3
    print(fun_tuple1())
    def fun_tuple2():
        return (1,2,3)
    print(fun_tuple2())

    运行结果:

    None

    123

    ['123', 'xyz', 456]

    (1, 2, 3)

    (1, 2, 3)

    fun1()返回None,fun2()的返回值类型是字符串,fun_list()、fun_tuple1()、fun_tuple2()的返回值大于1个,fun_list()返回的是一个列表,fun_tuple1()、fun_tuple2()等价,都是一个元组。

    所以在我们看来。返回一个容器对象时,好像是返回了多个对象(元组在语法上不需要带括号),事实上,他们仍返回的是一个,一个容器罢了。

    保存元组返回值的三种方法:

    def fun_tuple():
        return 'abc',5,['k','p']
    aTuple=fun_tuple()
    x,y,z=fun_tuple()
    (a,b,c)=fun_tuple()
    print(aTuple)
    print(x,y,z)
    print((a,b,c))

    运行结果:

    ('abc', 5, ['k', 'p'])

    abc 5 ['k', 'p']

    ('abc', 5, ['k', 'p'])

    在对x、y、z和a、b、c的赋值中,根据返回值的顺序,每个变量会接收到与之对应的返回值。而aTuple直接获得函数隐式返回的整个元组。

    前向引用

    def foo():
        print(
    '1')
        bar()

    def bar():
        print(
    '2')
    foo()

    运行结果:

    1

    2

    可见上例中foo()先调用的bar(),然后bar()才声明,系统不会报错。但是不推荐这么写,从感觉上来说,有悖常识,自己尽量让需要用的放在前面吧。

    内部/内嵌函数

    在函数体内部创建另外一个函数是完全合法的,这种函数叫内嵌函数。

    如:

    def foo():
        print('1')
        def bar():
            print('2')
        bar()
    foo()

    运行结果:

    1

    2

    内部函数的整个函数体都在外部函数的作用域里。如果没有任何对bar()的外部引用,那么除了在外部函数体foo()内,任何其他地方都不能对其进行调用。

    另外一个函数体内创建函数对象的方式是使用lambda语句。这个之后的学习会涉及。

    函数装饰器

    暂时看不懂,先不写。

    传递函数

    传递函数的方式大致有三种:

    1. 被引用(访问或者以其他变量作为其别名)
    2. 作为参数传入函数
    3. 作为字典、列表等容器对象的元素

    下面详细介绍一下用其他的变量作为函数的别名。

    def foo():
        print('1')
    bar=foo
    bar()

    运行结果:

    1

    当我们把foo赋给bar时,bar和foo引用了同一个函数对象,所以能以调用foo()相同的方式调用bar()。

    故:foo是函数对象的引用;foo()是函数对象的调用。

    再如:

    def foo():
        print('1')
    def bar(argfunc):
        argfunc()
    bar(foo)

    运行结果:

    1

    参数的种类

    位置参数

    位置参数必须以在被调用函数中的定义的准确顺序来传递。若没有任何默认参数的话,传入函数的参数的精确的数目必须和声明中的数字一致。

    当然,我们也可以不按位置地将关键字参数传入函数,给出关键字来匹配其在参数列表中的合适位置,但是位置参数的数字一定要对。

    def info(name,sex,grades,school='abc'):
        print(name)
        print(sex)
        print(grades)
        print(school)
    info('Jennifer','female','3')
    print()
    info(sex='female',name='Jennifer',school='lalala',grades='1')
    print()
    info(grades='1',sex='male',name='frank')

    运行结果:

    Jennifer

    female

    3

    abc

     

    Jennifer

    female

    1

    lalala

     

    frank

    male

    1

    abc

    参数默认值

    最有用的形式是对一个或多个参数指定一个默认值。这样创建的函数,可以用比定义时允许的更少的参数调用,设置默认参数,必选参数在前,默认参数在后。比如:

    def ask_ok(prompt,retries=4,reminder='Please try again!'):
        while True:
            ok=input(prompt)
            if ok in ('y','ye','yes'):
                return True
            if ok in ('n','no','nop','nope'):
                return False
            retries=retries-1
            if retries<0:
                raise ValueError('invalid user response')
            print(reminder)

    这个函数可以通过几种方式调用:

        只给出必需的参数:ask_ok('Do you really want to quit?')

        给出一个可选的参数:ask_ok('OK to overwrite the file?', 2)

    或者给出所有的参数:ask_ok('OK to overwrite the file?', 2, 'Come on, only yes or no!')

    这个示例还介绍了 in 关键字。它可以测试一个序列是否包含某个值。

    默认值是在定义过程中在函数定义处计算的,所以下例会打印5。

    i=5
    def f(arg=i):
        print(arg)
    i=6
    f()

    重要警告: 默认值只会执行一次这条规则在默认值为可变对象(列表、字典以及大多数类实例)时很重要。比如,下面的函数会存储在后续调用中传递给它的参数:

    def f(a,L=[]):
        L.append(a)
        return L
    print(f(1))
    print(f(2))
    print(f(3))

    打印结果如下:

    如果你不想要在后续调用之间共享默认值,你可以这样写这个函数:

    def f(a,L=None):
        if L is None:
            L=[]
        L.append(a)
        return L
    print(f(1))
    print(f(2))
    print(f(3))

    命名关键字参数

    函数调用时,指定参数名称,称为关键字参数(别和默认参数混淆,这里是函数调用)

    def temp(a,b,c):
    
        print(a)
    
        print(b)
    
        print(c)
    
    temp(1,3,c=99)
    
    temp(a=1,b=2,c=3)
    
    temp(1,b=2,c=100)

    顺序要求:函数调用时,关键字参数必须在普通参数(位置参数)的后面

    temp(100,b=200,c=300)

    temp(a=100,32,100) #错误语法,关键字参数不能在普通参数的前面

    使用字典解包方式传入关键字参数(后面小节中会详细讲到)

    hi = {"a":100,"b":99,"c":1000}

    temp(**hi) #等同于下面#

    temp(a=100,b=99,c=1000)

    函数调用时,当剩余的参数全部为关键字参数时,可随意定义顺序

    当全部为关键字参数时,调用函数时的参数顺序可随意书写,因为你指定了参数名,但是参数的数量不能少于函数定义时要求的位置参数的数量

    temp(c=100,b=38,a=10)

    也可以使用形如kwarg=value的关键字参数来调用函数。例如下面的函数:

    def parrot(voltage,state='a stiff',action='voom',type='Norwegian Blue'):
        print("--This parrot wouldn't",action,end=' ')
        print("if you put",voltage,"volts though it.")
        print("-- Lovely plumage, the", type)
        print("-- It's", state, "!")

    接受一个必需的参数(voltage)和三个可选的参数(state, action,和 type)。这个函数可以通过下面的任何一种方式调用:

    • 一个位置参数:parrot(1000)
    • 一个关键字参数:parrot(voltage=1000)
    • 两个关键字参数;parrot(voltage=1000000, action='VOOOOOM')
    • 两个关键字参数;parrot(action='VOOOOOM', voltage=1000000)
    • 三个位置参数:parrot('a million', 'bereft of life', 'jump')
    • 一个位置参数,一个关键字参数:parrot('a thousand', state='pushing up the daisies')

    但下面的函数调用都是无效的:

    • 丢失必要参数:parrot()
    • 在关键字参数之后的非关键字参数 :parrot(voltage=5.0, 'dead')
    • 同一参数的重复值 :parrot(110, voltage=220)
    • 未知的关键字参数:parrot(actor='John Cleese')

    在函数调用中,关键字参数必须跟随在位置参数的后面。传递的所有关键字参数必须与函数接受的其中一个参数匹配(比如 actor 不是函数 parrot 的有效参数),它们的顺序并不重要。这也包括非可选参数,(比如 parrot(voltage=1000) 也是有效的)。不能对同一个参数多次赋值。下面是一个因为此限制而失败的例子:

    def function(a):
        pass
    function(0,a=0)

    关键字参数:**others,便于函数功能的扩展

    当存在一个形式为**name最后一个形参时,它会接收一个字典其中包含除了与已有形参相对应的关键字参数以外的所有关键字参数。这可以与一个形式为*name接收一个包含除了已有形参列表以外的位置参数的元组的形参组合使用(*name必须出现在**name之前,下一小节会讲到)。例如,如果我们这样定义一个函数:

    def cheeseshop(kind, *arguments, **keywords):
        print("-- Do you have any", kind, "?")
        print("-- I'm sorry, we're all out of", kind)
        for arg in arguments:
            print(arg)
        print("-" * 40)
        for kw in keywords:
            print(kw, ":", keywords[kw])

    它可以像这样调用:

    cheeseshop("Limburger", "It's very runny, sir.",
               "It's really very, VERY runny, sir.",
               shopkeeper="Michael Palin",
               client="John Cleese",
               sketch="Cheese Shop Sketch")

    注意打印时关键字参数的顺序保证与调用函数时提供它们的顺序是相匹配的。

    任意的参数列表 *others

    最后,最不常用的选项是可以使用任意数量的参数调用函数。这些参数会被包含在一个元组里。在可变数量的参数之前,可能会出现零个或多个普通参数。:

    def write_multiple_items(file, separator, *args):
        file.write(separator.join(args))

    一般来说,这些可变参数将在形式参数列表的末尾,因为它们收集传递给函数的所有剩余输入参数。出现在*args参数之后的任何形式参数都是‘仅关键字参数’,也就是说它们只能作为关键字参数而不能是位置参数。

    def concat(*args, sep="/"):
       
    return sep.join(args)
    print(concat("earth", "mars", "venus"))
    print(concat("earth", "mars", "venus", sep="."))

    解包参数列表  

    当参数已经在列表或元组中但需要为需要单独位置参数的函数调用解包时,会发生相反的情况。例如,内置的 range() 函数需要单独的 start 和 stop 参数。如果它们不能单独使用,请使用 * 运算符编写函数调用以从列表或元组中解包参数,*args输出结果是3 6:

    list(range(3,6))
    print(list(range(3,6)))
    args=[3,6]
    print(list(range(*args)))

    以同样的方式,字典可以使用 ** 运算符来提供关键字参数:

    def parrot(voltage, state='a stiff', action='voom'):
        print("-- This parrot wouldn't", action, end=' ')
        print("if you put", voltage, "volts through it.", end=' ')
        print("E's", state, "!")
    d = {"voltage": "four million", "state": "bleedin' demised", "action": "VOOM"}
    parrot(**d)

    更多Python框架梳理,请参考: 【Python学习】Python最全总结

     有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。

    展开全文
  • C++ Convert 多种字符转换函数,网络上收集的多种整合, 自己看着选一个来用用就可以。 C++ Convert 多种字符转换函数,网络上收集的多种整合, 自己看着选一个来用用就可以。
  • 多种群遗传算法 -验证 Schaffer’s f6 函数,代码内对对多种群遗传算法中移民算子、移民频率、移民数目、交叉、变异概率都设置通用化编程,可直接修改方便
  • 多种群遗传算法的函数优化算法.docx多种群遗传算法的函数优化算法.docx多种群遗传算法的函数优化算法.docx多种群遗传算法的函数优化算法.docx多种群遗传算法的函数优化算法.docx多种群遗传算法的函数优化算法.docx...
  • 多种群遗传算法的函数优化算法.pdf多种群遗传算法的函数优化算法.pdf多种群遗传算法的函数优化算法.pdf多种群遗传算法的函数优化算法.pdf多种群遗传算法的函数优化算法.pdf多种群遗传算法的函数优化算法.pdf多种群...
  • 浅谈C++类中6个成员函数

    千次阅读 多人点赞 2021-03-18 15:45:13
    六个默认的成员函数构造函数浅谈深挖析构函数浅谈深挖拷贝构造函数浅谈深挖赋值重载函数浅谈深挖取地址重载函数const修饰的取地址重载函数二级目录 构造函数 浅谈 构造函数是一个特殊的成员函数,名字与类名相同且不...

    浅谈

    先来说一下“this指针”:
    C++中通过引入this指针解决该问题,暨:C++编译器给每个“非静态的成员函数”增加了一个隐藏的指针参数,让该指针指向当前对象(函数运行时调用该函数的对象),在函数体中所有成员变量的操作,都是通过该指针去访问,只不过所有的操作对用户是透明的,暨用户不需要来传递,编译器自动完成。

    说了这么多其实编译器在生成程序时获取对象首地址的信息。然后将获取的对象的首地址存放在了寄存器中,成员函数的其它参数都是存放在栈中。而this指针参数则是存放在寄存器中。类的静态成员函数(用static修饰的成员函数)因为没有this指针这个参数,所以类的静态成员函数也就无法调用类的非静态成员变量。

    构造函数

    构造函数是一个特殊的成员函数,名字与类名相同且不能有返回值,创建类类型时由编译器自动调用,在对象的生命周期内只调用一次。**主要任务是初始化对象。
    ↓下面是一个简单的构造函数(全缺省):
    在这里插入图片描述

    主函数初始化时如果无参则以缺省值0给成员变量赋值。

    默认构造函数:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    Q:为什么会出现上面的报错——包含多个默认构造函数?

    A:无参的构造函数和全缺省的构造函数都称为默认构造函数,并且默认构造函数只能有一个。注意:无参构造函数,全缺省构造函数,我们没写编译器默认生成的构造函数,都可以称为默认构造函数。
    特征
    1.函数名与类名相同;
    2.无返回值;
    3.对象实例化时编译器自动调用对应的构造函数;
    4.构造函数可以重载。

    析构函数

    析构函数:与构造函数功能相反,析构函数是完成对象的销毁,局部对象销毁工作是由编译器完成的。而对象在销毁时会自动调用析构函数,完成类的一些资源清理工作,和构造函数一样,如果我们没写析构函数,系统会生成一个默认析构函数,但这个析构函数什么都不会做。
    如果类中的成员变量不需要动态开辟内存空间,则默认析构函数可以完成析构任务,比如下面这种,可以说不用析构。在这里插入图片描述
    但是像下面这种,默认析构函数已经不能够完成在这里插入图片描述
    特征
    1.函数名是在类名前加上字符~;
    2.无参数(有一个隐藏参数*this指针)无返回值;
    3.一个类有且仅有一个析构函数,若未显示定义,系统会自动生成默认的析构函数;
    4.对象生命周期结束时,C++编译系统自动调用析构函数。

    拷贝构造函数

    拷贝构造函数:只有单个形参,该形参是对本类类型对象的引用(一般常用const修饰),在用已存在的类类型对象创建新对象时由编译器自动调用
    在这里插入图片描述
    从上图我们可以看出,关于给t2变量初始化时肯定不是调用构造函数。
    下面这张图应该就可以解释上面的问题
    在这里插入图片描述
    关于对拷贝构造函数参数的说明:
    在这里插入图片描述
    当然也同构造函数一样,若未显示定义,系统生成默认的拷贝构造函数。默认的拷贝构造函数对象按内存存储按字节序完成拷贝,暨浅拷贝或值拷贝
    特征
    1.拷贝构造函数是构造函数的一个重载形式;
    2.拷贝构造函数的参数只有一个(当然还有个隐藏的*this)且必须使用引用传参,使用传值方式会引发死递归。

    赋值重载函数

    赋值重载函数:C++为了增强代码的可读性引入了运算符重载,运算符重载是具有特殊函数名的函数,也具有其返回值类型,函数名字以及参数列表,其返回值类型与普通的函数类似。
    **函数名字为:**关键字operator后面接需要重载的运算符符号;
    函数原型:返回值类型operator操作符(参数列表)
    Test& operator= (const Test& t)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    注意:
    不能通过连接其他符号来创建新的操作符:比如operator@;
    重载操作符必须有一个类类型或者枚举类型的操作数;
    用于内置类型的操作符的操作符,其含义不能改变,例如:内置的整型+,不能改变其含义;
    作为类成员的重载函数时,其形参看起来比操作数数目少1成员函数的,操作符有一个默认的形参this,限定为第一个形参;
    *、::、sizeof、?:、. 以上5个运算符不能重载。
    一个类如果没有显示定义赋值运算符重载,编译器也会生成一个,完成对象按字节序的值拷贝。

    const成员函数

    将const修饰的类成员函数称之为const成员函数,const修饰类成员函数,实际修饰该成员函数隐含的this指针,表明该成员函数中不能对类的任何成员进行修改。
    在这里插入图片描述
    multable关键字:当有必须要修改的成员变量时,需在成员变量声明时前加上该关键字,及时是const成员函数也依然可以修改。

    取地址及const取地址重载函数

    这两个默认成员函数一般不用重新定义,编译器默认生成;

    class Date
    {
    public:
    	Date* operator&()
    	{
    		return this;
    	}
    	//因为对象被const修饰不能更改,所以返回值也要被const修饰
    	const Date* operator&() const
    	{
    		return this;
    	}
    private:
    	int _year;
    	int _month;
    	int _day;
    };
    

    深挖

    构造函数

    在这里插入图片描述
    上面的代码居然可以正常运行并且赋值成功,这是为什么。实际上编译器在执行赋值语句前,将“100作为参数来构造一个无名的临时的类”然后进行赋值。
    在这里插入图片描述
    上面这种情况我们称为**“隐式转换”**。

    explicit关键字:如果在构造函数前加上这个关键字,则要求显示转换,不能进行隐式转换。
    在这里插入图片描述
    因此我们进行强转之后再赋值;
    在这里插入图片描述
    我们换一种思路,将“类”给整型赋值,且先给出一个强转函数;
    在这里插入图片描述
    最后介绍另外一种初始化的方式:
    在这里插入图片描述
    给出一个复数类,参数列表初始化的效率要高于第一种初始化方式。

    拷贝构造函数

    下面介绍一下深拷贝,先看下面一段代码:
    在这里插入图片描述
    这个代码中我们没有写拷贝构造函数,可见默认拷贝函数这里出了问题;前面我们说过,默认拷贝方式是浅拷贝,也就是值拷贝。
    上面s1使用hello初始化,s2使用s1的值来拷贝,因此s2并未开辟新空间,而是指向s1的空间,因此在最后调用析构函数的时候,对同一块空间free了两次。

    如果将代码改成下面这种,那么就不会报错。
    在这里插入图片描述

    赋值运算符重载函数

    这里我们继续引用上面构造函数部分最后给出的那个复数类在这里插入图片描述
    我们上面说了赋值重载函数,那么到底什么是赋值运算符重载呢?
    运算符重载:对运算符赋予新的意义↓↓↓
    在这里插入图片描述
    由上图可知,上面这个对加法运算符符号“+”的重载函数是成员函数,因为它参数里面有一个隐藏的的this指针,所以需要用对象来调动它。在这里插入图片描述
    上面的代码整体的思路就是:
    1.调用四次次构造函数,构造C1C2C3以及在operator+内部的tmp;
    2.C1调用加法重载函数进行C1+C2;
    3.加法重载函数返回时需要调动一次拷贝构造函数(tmp拷贝到临时对象);
    4.调用赋值重载将C1+C2的值赋给C。
    在这里插入图片描述

    当写的类想做某种运算时,但编译器不支持,因此我们需要对运算符进行重载。

    展开全文
  • Excel公式大全【300函数

    万次阅读 多人点赞 2020-10-23 14:56:52
    Excel公式大全一、逻辑函数二、日期函数三、查找和引用函数四、文本函数五、数学函数六、统计函数描述统计推断统计七、数据库函数七、三角函数八、信息函数 一、逻辑函数 序列 函数 解释 语法 备注 1 and 与...

    一、逻辑函数

    序列函数解释语法备注
    1andAND(logical1,[logical2],…)
    2orOR(logical1,[logical2],…)
    3xor异或XOR(logical1,[logical2],…) xor(true,true)=false
    4.notNOT(logical)
    5.true
    6.falseFALSE()
    7.if判断IF(logical_test,value_if_true,[value_if_false])。
    8.ifs多条件判断if(logical_test1,val_if_true1,logical_test2,val_if_true2…)excel2019以上新增函数
    9.iferror错误返回IFERROR(value,value_if_error)错误类型:#N/A、#VALUE!、#REF!、 #DIV/0!、#NUM!、#NAME?或#NULL!
    9.ifna判断IFNA(value,value_if_na)错误值#N/A时返回值

    二、日期函数

    序列函数解释语法备注
    1.date指定日期DATE(year,month,day)
    2.today当天日期TODAY()
    3.datevalue日期文本转日期DATEVALUE(date_text)
    4.day日期里的天DAY(serial_number)
    5.days日期之间天数DAYS(end_date,start_date)
    6.days360日期间天数按360天计算天数DAYS360(start_date,end_date,[method])
    7.edate返回指月份后的日期EDATE(start_date,months)
    8.eomonth返回指定月份最后一天EOMONTH(start_date,months)
    9.now当前日期时间now()
    10.time时间小数TIME(hour,minute,second)
    11.timevalue文本转小数TIMEVALUE(time_text)
    12.hour时间值小数HOUR(serial_number)
    13.minute分钟MINUTE(serial_number)
    14.second秒数SECOND(serial_number)
    16.month月份MONTH(serial_number)
    17.year年份YEAR(serial_number)
    18.yearfrac日期天数占全年百分比YEARFRAC(start_date,end_date,[basis])1:360天,2:实际天数,3:实际天数/365,4:30/360
    19.isoweeknum周数ISOWEEKNUM(date)
    20.networkdays工作日NETWORKDAYS(start_date,end_date,[holidays])指定日期为非工作日
    21.networkdays.intl日期间工作日NETWORKDAYS.INTL(start_date,end_date,[weekend],[holidays])可指定周未,指定日期为非工作日
    22.weekday星期几WEEKDAY(serial_number,[return_type])1:1日-7六,2:1一-7日,3:0一-6日…
    23.weeknum第几周WEEKNUM(serial_num,[return_type])
    24.workday工作日天数后值WORKDAY(start_date,days,[holidays])
    25.workday.intl自定义周未,工作日后天数值WORKDAY.INTL(start_date,days,[weekend],[holidays])

    三、查找和引用函数

    序列函数解释语法备注
    1.choose选择执行CHOOSE(index_num,value1,[value2],…)。
    2.row行号row()
    3.rows行个数ROWS(array)
    4.column列号COLUMN([reference])
    5.columns返回数组或引用的列数COLUMNS(array)
    6.index区域值引用INDEX(array,row_num,[column_num])
    7.areas统计区域连续个数AREAS(reference)。
    8.transpose转置单元格区域TRANSPOSE(array)。
    9.formulatext公式转文本FORMULATEXT(reference)
    10.getpivotdata透视表数据读取ETPIVOTDATA(data_field,pivot_table,[field1,item1,field2, item2], …)
    11.hlookup行查找HLOOKUP(lookup_value,table_array,row_index_num,[range_lookup])
    12.vlookup竖向查找VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup])
    13.lookup不建议使用
    14.match相对位置MATCH(lookup_value,lookup_array,[match_type])1小于等于,0等于,-1大于等于,可以值能通配符
    15.hyperlink超连接HYPERLINK(link_location,[friendly_name])超连接,名称
    16.address文本单元格值ADDRESS(row_num,column_num,[abs_num],[a1],[sheet_text])配合indirect使用
    17.indirect计算文本字符串的引用INDIRECT(ref_text,[a1])INDIRECT(“r1c1”,FALSE) INDIRECT(“a1”,true)
    18.offset偏移OFFSET(reference,rows,cols,[height],[width])。
    19.rtd第三方应用编写脚本,导入角本RTD(ProgID,server,topic1,[topic2],…)

    四、文本函数

    序列函数解释语法备注
    1.left /leftb左取字符/节LEFT(text,[num_chars])
    2.right /rightb右取字符/节RIGHT(text,[num_chars])
    3.mid /midb指定位置取字符/节MID(text,start_num,num_chars)
    4.len /lenb字符个数LEN(text)
    5.find /findb字符查找字/符,第一个位置FIND(find_text,within_text,[start_num])
    6.search /searchb查找 同findSEARCH(find_text,within_text,[start_num])支持通配符
    7.replace/ replaceb替换REPLACE(old_text,start_num,num_chars,new_text)
    8.substitute查找替代SUBSTITUTE(text,old_text,new_text,[instance_num])
    9.concatenate串联字符串CONCATENATE(text1,[text2],…)
    10.exact比较(含大小写)字符串EXACT(text1,text2)
    11.fixed返回文本结果,同roundFIXED(number,[decimals],[no_commas])
    12.trim清除空格(保留单词间空格)TRIM(text)
    13.lower第一个字母转小写LOWER(text)
    14.upper转大写UPPER(text)
    15.proper首字母转大写PROPER(text)
    16.numbervalue文本转数字NUMBERVALUE(Text,[Decimal_separator],[Group_separator])
    17.value文本转数字VALUE(text)
    18.T数值转文本T(value)
    19.rmb按货币四舍五入转成文本RMB(number,[decimals])
    20.dollar数字转文本(美元)DOLLAR(number,[decimals])基本不用
    21.text转文本 TEXT(value,format_text)可以自定义文本格式uncode
    22.rept重复显示REPT(text,number_times)
    23.code字符串第一个字符代码CODE(text)
    24.charansi字符集编码返回字符CHAR(number)
    25.unicharunicode字符UNICHAR(number)
    26.unicode第一个字符unicode数字UNICODE(text)
    27.widechar单字节转双字节WIDECHAR(text)
    28.asc双字节转单字节ASC(text)
    29.clean删除无法识别字符CLEAN(text)
    30.phonetic拼音

    五、数学函数

    序列函数解释语法备注
    1.sumSUM(number1,[number2],…)
    2.sumif条件和SUMIF(range,criteria,[sum_range])
    3.sumifs多条件和SUMIFS(sum_range,criteria_range1,criteria1,[criteria_range2, criteria2],…)
    4.product参数相乘(*)PRODUCT(number1,[number2],…)
    5.quotientQUOTIENT(numerator,denominator)被除数÷除数=商··· ···余数
    6.mod余数MOD(number,divisor)
    7.power乘幂(^)POWER(number,power)
    8.sqrt平方根SQRT(number) . . . \sqrt{... } ...
    9.sqrtpi正实数与π的乘积的平方根SQRTPI(number) x π \sqrt{x\pi} xπ
    10.lcm整数的最小公倍数LCM(number1,[number2],…)
    11.gcd两个或多个最大公约数GCD(number1,[number2],…)
    12.expe的次方EXP(number) e n e^n en
    13.ln一个数的自然对数LN(number) l n ( x ) ln(x) ln(x)
    14.logLOG(number,[base]) l o g 10 100 = l n ( 100 ) log_{10}100=ln(100) log10100=ln(100)
    15.log1010 为底的对数LOG10(number)
    16.fact 阶乘FACT(number) n ! n! n!
    17.factdouble半阶乘FACTDOUBLE(number) n ! ! = n ( n − 2 ) ( n − 4 ) . . . n!!=n(n-2)(n-4)... n!!=n(n2)(n4)...
    18.combin不重复组合数目COMBIN(number,number_chosen) A n m A^m_n Anm
    19.combina可重复组合数 C n m C^m_n Cnm
    20.sumsq平方和SUMSQ(number1,[number2],…) ∑ ( x i 1 2 + x i 2 2 . . . ) \sum{(x_{i1}^2+x_{i2}^2...)} (xi12+xi22...)
    21.pi周率πPI() π \pi π
    22.int向下取整为最接近的整数INT(number)
    23.abs绝对值ABS(number) ∥ ∥ \|\|
    24.sign判断正负(1正,0零,-1负)SIGN(number)
    25.rand[0,1) 均匀分布随机实数RAND()以下随机数
    26.randbetween数值间随机整数RANDBETWEEN(bottom,top)
    27.trunc数字截去小数,返回整数TRUNC(number,[num_digits])以下取整
    28.round四舍五入到指定的位数ROUND(number,num_digits)
    29.rounddown绝对值减小的方向舍入某一数字ROUNDDOWN(number,num_digits)
    30.roundup绝对值增大的方向舍入一个数字ROUNDUP(number,num_digits)
    31.ceiling.math向上舍入至指定基数的倍数 (整数)CEILING.MATH(number,[significance],[mode])
    32.ceiling.precise向上舍入至指定基数的位数(正整数)CEILING.PRECISE(number,[significance])
    33.floor.math向下舍入为最接近基数倍数FLOOR.MATH(number,significance,mode)
    34.mround指定倍数舍入MROUND(number, multiple)
    35.even绝对值增大方向,取最接近偶数EVEN(number)
    36.odd绝对值增大的方向舍入为最接近的奇数ODD(number)
    37.subtotal数据库中的分类汇总SUBTOTAL(function_num,ref1,[ref2]…)以下批处理
    38.aggregate返回列表或数据库的合计 AGGREGATE(function_num,options,array,[k])
    39.数组形式AGGREGATE(function_num,options,ref1,[ref2],…)
    40.sumproduct数组对应元素乘积求和SUMPRODUCT(array1,[array2],[array3],…) ∑ x i y i \sum{x_iy_i} xiyi 以下数组
    41.sumx2my2数组平方差和SUMX2MY2(array_x,array_y) ∑ ( x i 2 − y i 2 ) \sum{(x_i^2-y_i^2)} (xi2yi2)
    42.sumx2py2数组平方和之和SUMX2PY2(array_x,array_y) ∑ ( x i 2 + y i 2 ) \sum{(x_i^2+y_i^2)} (xi2+yi2)
    43.sumxmy2数组差平方和SUMXMY2(array_x,array_y) ∑ ( x i − y i ) 2 \sum{(x_i-y_i)^2} (xiyi)2
    44.munit指定维度的单位矩阵MUNIT(dimension)以下矩阵
    45.minverse逆矩阵MINVERSE(array)
    46.mmult矩阵乘积MMULT(array1,array2)
    47.mdeterm矩阵行列式的值MDETERM(array)正斜乘积-反斜乘积(a11a22a33+a12a23a31+a13a32a21)-(a13a22a31+a12a21a33+a11a32a23)
    48.multinomial参数和的阶乘与各参数阶乘乘积的比值MULTINOMIAL(number1,[number2],…) ( a 1 ! + a 2 ! + a 3 ! . . . ) a 1 ! a 2 ! a 3 ! . . . \frac{(a_1!+a_2!+a_3!...) }{a_1!a_2!a_3!...} a1!a2!a3!...(a1!+a2!+a3!...)
    49.decimal数字的文本转十进制DECIMAL(text,radix)=DECIMAL(“FF”,16) 文本,基数
    50.base进制转换BASE(Number,Radix,[Min_length])
    51.seriessum求公式和SERIESSUM(x,n,m,coefficients) a 1 x n + a 2 x ( n + m ) + . . . + a i x [ n + ( i − 1 ) m ] a_1x^n+a_2^x{(n+m)}+...+a_ix^{[n+(i-1)m]} a1xn+a2x(n+m)+...+aix[n+(i1)m]
    52.roman数字转罗马数字ROMAN(number,form)
    53.arabic罗马数字转化为阿拉伯数字。ARABIC(text)

    六、统计函数

    描述统计

    序列函数解释语法备注
    1.average算术平均值AVERAGE(number1,[number2],…) x ‾ = 1 n ∑ ( x 1 + x 2 + . . . + x n ) \overline{x}=\frac{1}{n}\sum{(x_1+x_2+{...}+x_n)} x=n1(x1+x2+...+xn)
    2.averagea数值的算数平均值(含文本时)AVERAGEA(value1,[value2],…)
    3.averageif条件单元算术平均值AVERAGEIF(range,criteria,[average_range])
    4.averageifs多条件单元算术平均值AVERAGEIFS(average_range,criteria_range1,criteria1, [crileria_range2,criteria2],…)
    5.harmean调和平均值HARMEAN(number1,number2,…) n ∑ i = 1 n 1 y i \dfrac{n}{\sum_{i=1}^n{\frac{1}{y_i}}} i=1nyi1n
    6.trimmean内部(去头尾)平均值TRIMMEAN(array,percent)
    7.geomean几何平均值GEOMEAN(number1,number2,…)可变复利的平均增 长率计算 g e o m g e n ( y 1 , y 2 , . . . , y n ) = y 1 y 2 . . . y n n geomgen(y_1,y_2,...,y_n)=\sqrt[n]{y_1y_2...y_n} geomgen(y1,y2,...,yn)=ny1y2...yn
    8.median中位数MEDIAN(number1,[number2],…)
    9.mode.mult频率最高数MODE.MULT((number1,[number2],…)水平数组转置TRANSPOSE(MODE.MULT(…))
    10.mode.sngl频率最多数值MODE.SNGL((number1,[number2],…)
    11.frequency数据分布区域频率分布FREQUENCY(data_array,bins_array)
    12.count数字的个数COUNT(value1,[value2],…)
    13.counta非空单元格个数COUNTA(value1,[value2],…)
    14.countblank空单元格个数COUNTBLANK(range)
    15.countif条件单 元格数COUNTIF(range,criteria)
    16.countifs多条件单 元格数COUNTIFS(criteria_range1,criteria1,[criteria_range2,criteria2],…)
    17.max最大值MAX(number1,[number2],…)
    18.maxa最大值(含true false)MAXA(value1,[value2],…)
    19.min最小值MIN(number1,number2,…)
    20.mina最小值(含boole)MINA(value1,[value2],…)
    21.small第k个最小值SMALL(array,k)
    22.largek个最大值LARGE(array,k)
    23.percentile.exc区域值的k%值(0,1)PERCENTILE.EXC(array,k)
    24.percentile.inc区域值的k%值[0,1]PERCENTILE.INC(array,k)
    25.percentrank.exc数值在数据中的百分比(0,1)PERCENTRANK.EXC(array,x,[significance])
    26.percentrank.inc数值在数据中的百分比[0,1]PERCENTRANK.INC(array,x,[significance])
    27.permut排列组合数PERMUT(number,number_chosen) p e r m u t ( n , k ) = n ! ( n − k ) ! = C n k permut(n,k)=\frac{n!}{(n-k)!}=C_n^k permut(n,k)=(nk)!n!=Cnk
    28.permutationa总数的排列数(重复)PERMUTATIONA(number,number_chosen) n k n^k nk
    29.prob数值落在指定区间的概率PROB(x_range,prob_range,[lower_limit],[upper_limit])
    30.quartile.exc(0,1)之间返回四分位数QUARTILE.EXC(array,quart)
    31.quartile.inc(0,1)之间四分位数QUARTILE.INC(array,quart)最大最小值
    32.rank.avg排列(平均值)RANK.AVG(number,ref,[order])
    33.rank.eq排列(并列)RANK.EQ(number,ref,[order])

    推断统计

    序列函数解释语法备注
    1.avedev平均误差AVEDEV(number1,[number2],…)$\frac{1}{n}\sum{
    2.devsq偏差的平方和DEVSQ(number1,number2,…) d e v s q = ∑ ( x − x ‾ ) 2 devsq=\sum{(x-\overline{x})^2} devsq=(xx)2
    2.stdev.p样本计算总体标准误STDEV.P(number1,[number2],…) s t d e v . p = ∑ ( x − x ‾ ) 2 n stdev.p=\sqrt{\cfrac{\sum{(x-\overline{x})^2}}{n}} stdev.p=n(xx)2
    3.stdev.s样本标准误STDEV.S(number1,[number2],…) s t d e v . s = ∑ ( x − x ‾ ) 2 n − 1 stdev.s=\sqrt{\frac{\sum{(x-\overline{x})^2}}{n-1}} stdev.s=n1(xx)2
    4.stdeva样本标准误(数字的文本,逻辑值)STDEVA(value1,[value2],…) s t d e v a = ∑ ( x − x ‾ ) 2 n − 1 stdeva=\sqrt{\frac{\sum{(x-\overline{x})^2}}{n-1}} stdeva=n1(xx)2
    5.stdevpa样本计算总体标准误STDEVPA(value1,[value2],…) s t d e v . p = ∑ ( x − x ‾ ) 2 n stdev.p=\sqrt{\cfrac{\sum{(x-\overline{x})^2}}{n}} stdev.p=n(xx)2
    6.steyx标准误STEYX(known_y’s,known_x’s) s t e y x ( y , x ) = 1 n − 2 [ ∑ ( y − y ‾ ) 2 − [ ∑ ( x − x ‾ ) ( y − y ‾ ) 2 ] ∑ ( x − x ‾ ) 2 ] steyx(y,x)=\sqrt{\frac{1}{n-2}[\sum{(y-\overline{y})^2}-\frac{[\sum{(x-\overline{x})(y-\overline{y})^2}]}{\sum{(x-\overline{x})^2}}]} steyx(y,x)=n21[(yy)2(xx)2[(xx)(yy)2]]
    7.var.p总体方差VAR.P(number1,[number2],…) v a r . p = ∑ ( x − x ‾ ) 2 n var.p=\frac{\sum{(x-\overline{x})^2}}{n} var.p=n(xx)2
    9.var.s样本方差VAR.S(number1,[number2],…) v a r . s = ∑ ( x − x ‾ ) 2 n − 1 var.s=\frac{\sum{(x-\overline{x})^2}}{n-1} var.s=n1(xx)2
    8.vara估算给定样本的方差(含逻辑与文本)VARA(value1,[value2],…) v a r a = ∑ ( x − x ‾ ) 2 n − 1 vara=\frac{\sum{(x-\overline{x})^2}}{n-1} vara=n1(xx)2
    9.varpa样本总体的方差(含逻辑与文本)VARPA(value1,[value2],…) v a r p a = ∑ ( x − x ‾ ) 2 n varpa=\frac{\sum{(x-\overline{x})^2}}{n} varpa=n(xx)2
    10.covariance.p总体协方差COVARIANCE.P(array1,array2)偏差乘积均值= ∑ ( x − x ‾ ) ( y − y ‾ ) n \frac{\sum(x-\overline{x})(y-\overline{y})}{n} n(xx)(yy)
    11.covariance.s样本协方差COVARIANCE.S(array1,array2) ∑ ( x − x ‾ ) ( y − y ‾ ) n − 1 \frac{\sum(x-\overline{x})(y-\overline{y})}{n-1} n1(xx)(yy)
    12.correl相关系数CORREL(array1,array2) ∑ ( x − x ‾ ) ( y − y ‾ ) ∑ ( x − x ‾ ) 2 ∑ ( y − y ‾ ) 2 \frac{\sum{({x-\overline{x}})({y-\overline{y}})}}{\sqrt{\sum{({x-\overline{x}})^2}\sum{({y-\overline{y}})^2}}} (xx)2(yy)2 (xx)(yy)
    13.pearson皮尔森相关系数rPEARSON(array1,array2) p e r s o n ( x , y ) = ∑ ( x − x ‾ ) ( y − y ‾ ) ∑ ( x − x ‾ ) 2 ∑ ( y − y ‾ ) 2 person(x,y)=\frac{\sum{({x-\overline{x}})({y-\overline{y}})}}{\sqrt{\sum{({x-\overline{x}})^2}\sum{({y-\overline{y}})^2}}} person(x,y)=(xx)2(yy)2 (xx)(yy)
    16.rsqperson关系数的平方RSQ(known_y’s,known_x’s)
    14.kurt峰值KURT(number1,[number2],…)
    18.skew偏斜度(平均值的不对称程度)SKEW(number1,[number2],…)
    19.skew.p不对称度(总体)SKEW.P(number1,[number2],…)
    20.intercept计算直线与y轴交叉点INTERCEPT(known_y’s,known_x’s)
    15.forecast回归拟合预测值FORECAST(x,known_y’s,known_x’s)
    16.growth预测指数增长值GROWTH(known_y’s,[known_x’s],[new_x’s],[const])
    17.phi标准正态分布的密度函数PHI(x)
    18.norm.dist指定值的正态分布NORM.DIST(x,mean,standard_dev,cumulative)
    19.norm.inv指定值的正态累积分布NORM.INV(probability,mean,standard_dev)
    26.norm.s.dist标准正太分布NORM.S.DIST(z,cumulative)
    20.norm.s.inv标准正态分布累积分布的反函数NORM.S.INV(probability)
    21.gauss算标准正态总体置信区间概率GAUSS(z)
    22.confidence.norm正态分布均值置信区间CONFIDENCE.NORM(alpha,standard_dev,size)
    23.standardize正态化数值(mean,standard-dev)STANDARDIZE(x,mean,standard_dev) s t a n d a r d i z e ( X , μ , σ ) = X − μ σ standardize(X,\mu,\sigma)=\frac{X-\mu}{\sigma} standardize(X,μ,σ)=σXμ
    24.hypgeom.dist概率密度函数HYPGEOM.DIST(sample_s,number_sample,population_s,number_pop, cumulative) h y p g e o m . d i s t ( x , n , M , N , F a l s e ) = ( x M ) ( n − x N − M ) ( n N ) hypgeom.dist(x,n,M,N,False)=\dfrac{(^M_x)(^{N-M}_{n-x})}{(^N_n)} hypgeom.dist(x,n,M,N,False)=(nN)(xM)(nxNM)
    25.beat.dist累积概率密度函数BETA.DIST(x,alpha,beta,cumulative,[A],[B])
    26.beat.invbeta反函数BETA.INV(probability,alpha,beta,[A],[B])
    27.binom.dist一元二项分布的概率BINOM.DIST(number_s,trials,probability_s,cumulative)
    28.binom.dist.range二项式分布返回试验结果的概率𝐵𝐼𝑁𝑂𝑀.𝐷𝐼𝑆𝑇.𝑅𝐴𝑁𝐺𝐸(𝑁,𝑝,𝑠,𝑠2) ∑ k = s s 2 ( K N ) p k ( 1 − p ) N − k \sum_{k=s}^{s2}{(^N_K)p^k(1-p)^{N-k}} k=ss2(KN)pk(1p)Nk
    29.binom.inv累积二项分布的函数值大于等于临界值的最小整数BINOM.INV(trials,probability_s,alpha)
    30.t.distt检验(左尾)T.DIST(x,deg_freedom,cumulative)
    31.t.dist.2tt检验(双尾)T.DIST.2T(x,deg_freedom)
    39.t.dist.rttswcw(右尾) T.DIST.RT(x,deg_freedom)
    32.t.invt检验左尾反函数T.INV(probability,deg_freedom)
    33.t.inv.2tt检验双尾反函数T.INV.2T(probability,deg_freedom)
    34.t.testt检验(同源检验)T.TEST(array1,array2,tails,type)
    35.confidence.tt分布总体均值置信区间CONFIDENCE.T(alpha,standard_dev,size)
    36.chisq.dist返回 x 2 x^2 x2分布CHISQ.DIST(x,deg_freedom,cumulative)
    37.chisq.dist.rt x 2 x^2 x2分布的右尾概率CHISQ.DIST.RT(x,deg_freedom)
    38.chisq.inv x 2 x^2 x2分布的左尾概率的反函数CHISQ.INV(probability,deg_freedom)
    39.chisq.inv.rt x 2 x^2 x2分布的右尾概率的反函数CHISQ.INV.RT(probability,deg_freedom)
    40.chisq.test独立检验结果CHISQ.TEST(actual_range,expected_range)
    41.slope线性回归斜率SLOPE(known_y’s,known_x’s)
    42.linest最小二乘法拟合直线LINEST(known_y’s,[known_x’s],[const],[stats])
    43.trend线性趋势值(最小二乘) TREND(known_y’s,[known_x’s],[new_x’s],[const])
    44.expon.dist指数分布EXPON.DIST(x, λ \lambda λ,cumulative)expon.dist(x,y,true)= 1 − e − λ x 1-e^{-\lambda{x}} 1eλx
    45.logest回归拟合LOGEST(known_y’s,[known_x’s],[const],[stats])数组符合 y = b ∗ m x y=b*m^x y=bmx
    46.lognorm.distx的对数分布函数LOGNORM.DIST(x,mean,standard_dev,cumulative)
    47.lognorm.invx的对数累积函数反函数LOGNORM.INV(probability,mean,standard_dev)
    48.negbinom.dist负二项式分布NEGBINOM.DIST(number_f,number_s,probability_s,cumulative)
    49.poisson.dist泊松分布POISSON.DIST(x,mean,cumulative) p o i s s o n . d i s t ( x , λ , t r u e ) = ∑ k = 0 x e − λ λ k k ! poisson.dist(x,\lambda,true)=\sum_{k=0}^{x}{\frac{e^{-\lambda}\lambda^k}{k!}} poisson.dist(x,λ,true)=k=0xk!eλλk p o i s s o n . d i s t ( x , λ , f a l s e ) = e − λ λ x x ! poisson.dist(x,\lambda,false)=\frac{e^{-\lambda}\lambda^x}{x!} poisson.dist(x,λ,false)=x!eλλx
    50.f.distF概率分布函数F.DIST(x,deg_freedom1,deg_freedom2,cumulative)
    59.f.dist.rt两个数据集的(右尾)F 概率分布F.DIST.RT(x,deg_freedom1,deg_freedom2)
    51.f.invF 概率分布函数的反函数值F.INV(probability,deg_freedom1,deg_freedom2)
    61.f.inv.rt(右尾)F 概率分布的反函数F.INV.RT(probability,deg_freedom1,deg_freedom2)
    52.f.testF 检验F.TEST(array1,array2)
    53.fisher点 x 的 Fisher 变换FISHER(x) f i s h e r ( x ) = 1 2 l n ( 1 + x 1 − x ) fisher(x)=\frac{1}{2}ln(\frac{1+x}{1-x}) fisher(x)=21ln(1x1+x)
    54.fisherinvFisher变换的逆函数值FISHERINV(y) f i s h e r i n v ( y ) = e 2 y − 1 e 2 y + 1 fisherinv(y)=\frac{e^{2y}-1}{e^{2y}+1} fisherinv(y)=e2y+1e2y1
    55.gamma伽玛函数值。GAMMA(number) g a m m a ( n ) = Γ ( N ) = ∫ 0 ∞ t N − 1 e − t d t gamma(n)=\Gamma(N)=\int_0^\infty{t^{N-1}e^{-t}dt} gamma(n)=Γ(N)=0tN1etdt
    56.gamma.dist伽玛分布GAMMA.DIST(x,alpha,beta,cumulative)
    57.gamma.inv伽玛累积分布的反函数GAMMA.INV(probability,alpha,beta)
    58.gammaln伽玛函数的自然对数GAMMALN(x)
    59.gammaln.precise伽玛函数的自然对数Γ(x)。GAMMALN.PRECISE(x)
    60.weibull.distWeibull 分布WEIBULL.DIST(x,alpha,beta,cumulative)
    61.z.testz 检验的单尾 P 值Z.TEST(array,x,[sigma])

    七、数据库函数

    序列函数解释语法备注
    1.dsum求和DSUM(database,field,criteria)不支持超级表,行列操作
    2.daverage条件求平均DAVERAGE(database,field,criteria)daverage(C129:D135,“数量”,H129:H130)
    3.dcount单元格个数DCOUNT(database,field,criteria)
    4.dcounta非空单 元格个数DCOUNTA(database,field,criteria)
    5.dget符合条件单 元格值DGET(database,field,criteria)
    6.dmax最大值DMAX(database,field,criteria)
    7.dmin最小值DMIN(database,field,criteria)
    8.dproduct条件乘积DPRODUCT(database,field,criteria)
    9.dstdev样本估算总体标准差DSTDEV(database,field,criteria)
    10.dstdevp样本总体计算总体标准差DSTDEVP(database,field,criteria)
    11.dvar总体方差DVAR(database,field,criteria)
    12.dvarp样本总体方差DVARP(database,field,criteria)

    七、三角函数

    序列函数解释语法备注
    1.acos反余弦值ACOS(number)
    2.acosh反双曲余弦值ACOSH(number)
    3.acot反余切值ACOT(number)
    4.acoth双曲反余切值ACOTH(number)
    5.asin反正弦值ASIN(number)
    6.asinh反双曲正弦值ASINH(number)
    7.atan反正切值ATAN(number)
    8.atan2给定X,Y 的反正切值ATAN2(x_num,y_num)
    9.atanh反双曲正切值ATANH(number)
    10.cos余弦值COS(number)
    11.cosh双曲余弦COSH(number)
    11.cot余切COT(number)
    12.coth双曲余切值COTH(number)
    13.csc余割值CSC(number)
    14.csch双曲余割值CSCH(number)
    15.degrees弧度转换为度DEGREES(angle)
    16.radians角度转弧度RADIANS(angle)
    17.sec角度的正割值SEC(number)
    18.sech角度的双曲正割值SECH(number)
    19.sin正弦值SIN(number)
    21.sinh反正弦值SINH(number)
    20.tan正切值TAN(number)
    21.anh反正切值TANH(number)

    八、信息函数

    序列函数解释语法备注
    1.N转为数值N(value)
    2.NA错误NA()
    3.isblank是否空单元格ISBLANK(value)
    4.iseven奇偶ISEVEN(number)false:奇,true:偶
    5.isodd奇偶ISODD(number)奇:true
    6.isnumber是否数字ISNUMBER(value)
    7.istext是否文本ISTEXT(value)
    8.isnontext是否 非文本ISNONTEXT(value)
    9.islogical是否逻辑值ISLOGICAL(value)
    10.isref是否引用ISREF(value)
    11.isformula是否存在包含公式的单元格引用ISFORMULA(reference)
    12.iserr是否错误(不含#N/A)ISERR(value)
    13.iserror是否错误ISERROR
    14.isna是否naISNA(value)
    15.sheets工作表数SHEETS([reference])
    16.sheet工作表编号SHEET([value])
    17.type数值类型TYPE(value)数字:1,文本:2,逻辑值:4,错误值:16,数组:64
    18.cell获取单元格信息CELL(info_type,[reference])地址,列标,颜色否,公式否,文件路径,文本值,正值否,标签文本值,锁定否,行号,数据类型,列宽
    19.error.type错误类型ERROR.TYPE(error_val)#NULL!: 1,#DIV/0!:2, #value!:3,#REF!:4,#NAME?:5,#NUM!:6,#N/A:7,#GETTING_DATA :8
    20.info操作系统INFO(type_text)directory:当前目录,numfile:工作表数,origin:以当前位置为基准,左上角单元格,osversion:操作系统版本,recale:计算模式(自动,手动),release:excel版本,system:系统名称
    展开全文
  • 凸需求函数,凸分布与多种价格并存的优化模型,化存才,,建立了商品销售中的凸需求函数,凸分布和多种价格并存的优化模型。首先将已有文献中的二次需求函数模型推广为一般的凸需求函数
  • Python函数几种调用方式总结

    千次阅读 2019-09-20 21:18:59
    python装饰器(fuctional decorators)就是用于拓展原来函数功能的一种函数,目的是在不改变原函数名(或类名)的情况下,给函数增加新的功能。 这个函数的特殊之处在于它的返回值也是一个函数,这个函数是内嵌“原...
  • vue函数定义的多种写法

    千次阅读 2022-03-25 23:05:22
    vue函数定义的多种写法 千次阅读 2019-09-05 10:31:27 vue定义方法 methods: { a(e,c){ alert(“aaa”); }, a{ alert(“aaa”); }, a: function(e,c) { alert(“aaa”); } } 在JS中箭头函数根据是否书写大小括号可...
  • 最小二乘拟合,多项式拟合等多种概率分布函数的拟合源码。
  • 在Excel函数中,有非常多的Excel的常规函数使用的场景,我们本篇文章就和大家一起讨论下Excel的文本系列函数的使用。我们将在本次文章分享中分享如下函数的使用: Find 函数 Search 函数 Left 函数 Mid 函数 ...
  • 本文详细的介绍了如何重定向printf输出到串口输出的多种方法,包括调用MDK微库(MicroLib)的方法,调用标准库的方法,以及适用于 `GNUC` 系列编译器的方法。
  • c语言函数指针的多种赋值方法

    千次阅读 2019-07-25 15:24:10
    c语言函数指针的多种赋值方法 提供框架模型,具体代码缩略,适合功能模块包装,例子程序为c语言基于TCP的图片发送 1、mdu_TcpClient.h中: 定义结构体 typedef struct { int (*init)(char *szIpaddr, char *...
  • js函数多种写法

    千次阅读 2017-06-15 16:11:06
    如果你曾与JavaScript代码打过交道,你应该会很熟悉如何定义和调用函数,但是你真的知道有多少种定义函数的方法吗?对于编写和维护测试Test262(浏览器JavaScript标准测试)来说,这是一个十分常见的挑战,尤其是当...
  • 提供了多种群遗传算法的函数优化求解代码源程序,帮助初学者对MATLAB进行学习,
  • C++函数模板(模板函数)详解

    万次阅读 多人点赞 2019-07-04 16:03:01
    C++函数模板(模板函数)详解定义用法:函数模板的原理延申用法2.1为什么需要类模板2.2单个类模板语法2.3继承中的类模板语法案例1:案例2:2.4类模板的基础语法2.5类模板语法知识体系梳理1.所有的类模板函数写在类的...
  • C语言练习:多种方法实现分段函数求值

    万次阅读 多人点赞 2020-11-12 09:25:04
    本文通过一个分段函数讲解 多分支if语句 与 多个 if 语句 的区别 相关文章:C语言:if、if...else、if...else if ...else、if...if...if 语句的区别 题目 方法一:使用多个if对x的范围进行判断 #include<...
  • Python的函数使用

    万次阅读 多人点赞 2021-12-06 10:07:31
    所以,在对python函数进行阐述之前,先对跳出循环的简单语句块进行介绍。 1 跳出循环-break python提供了一种方便快捷的跳出循环的方法-break,示例如下,计算未知数字个数的总和: if __name__ == "__main__": ...
  • 前言:前面的系列文章已经详细介绍了使用torch.nn.Module来实现自己定义的模型、自定义层,本文将继续来说明如何自定义损失函数,需要明确一个观点,不管是定义层还是损失函数,方法有很多,但是通过统一的接口nn....
  • C语言自定义函数

    千次阅读 2021-05-19 12:12:30
    接收用户数据的函数在定义时要指明参数,不接收用户数据的不需要指明,根据这一点可以将函数分为有参函数和无参函数。将代码段封装成函数的过程叫做函数定义。无参函数的定义如果函数不接收用户传递的数据,那么定义...
  • 本文详细的介绍了如何重定向printf输出到串口输出的多种方法,包括调用MDK微库(MicroLib)的方法,调用标准库的方法,以及适用于 GNUC 系列编译器的方法。 1.printf与fputc 对于 printf 函数相信大家都不陌生,第...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 597,265
精华内容 238,906
关键字:

多种函数