-
2019-01-06 20:32:19
函数根据有没有参数,有没有返回值,可以相互组合,一共有四种
可以分为
无参数,无返回值;
无参数,有返回值;
有参数,无返回值;
有参数,有返回值。
<1>无参数,无返回值的函数此类函数,不能接收参数,也没有返回值
<2>无参数,有返回值的函数此类函数,不能接收参数,但是可以返回某个数据
<3>有参数,无返回值的函数此类函数,能接收参数,但不可以返回数据,一般情况下,对某些变量设置数据而不需结果时,用此类函数
<4>有参数,有返回值的函数此类函数,不仅能接收参数,还可以返回某个数据,一般情况下,像数据处理并需要结果的应用,用此类函数更多相关内容 -
Numpy的常用函数总结
2018-08-20 22:42:10argmax()返回的是元素的索引,而max()返回的则是元素值,max的用法和argmax相似,也有一个axis的参数。同理,argmin()和min()也是相同的用法。 2、np.where(condition[, x, y]) 1)这里x,y是可选参数,...1、np.argmax()、np.max()、np.argmin()、np.min()用法:
3、np.random中shuffle与permutation的区别
4、np.ascontiguousarray():返回和传入的数组类似的内存中连续的数组
5、np.empty():返回没有初始化的数组,它的值是随机的
8、np.sort()和np.argsort():第一个返回从小到大的排序值,第二个返回从小到大的索引
9、np.cumsum():返回当前列之前的和加到当前列上的数组
1、np.argmax()、np.max()、np.argmin()、np.min()用法:
argmax返回的是最大数的索引.argmax有一个参数axis,默认是0。看二维的情况如下:
a = np.array([[1, 5, 5, 2], [9, 6, 2, 8], [3, 7, 9, 1]]) print(np.argmax(a, axis=0)) [1,2,2,1] # 返回列表的长度为最里层元素的长度 a = np.array([[1, 5, 5, 2], [9, 6, 2, 8], [3, 7, 9, 1]]) print(np.argmax(a, axis=1)) [1,0,2] # 返回列表的长度为次里层元素的长度
argmax()返回的是元素的索引,而max()返回的则是元素值,max的用法和argmax相似,也有一个axis的参数。同理,argmin()和min()也是相同的用法。
2、np.where(condition[, x, y])
1)这里x,y是可选参数,condition是条件,这三个输入参数都是array_like的形式;而且三者的维度相同
2)当conditon的某个位置的为true时,输出x的对应位置的元素,否则选择y对应位置的元素;
3)如果只有参数condition,则函数返回为true的元素的坐标位置信息;x = np.arange(9.).reshape(3, 3) [[0. 1. 2.] [3. 4. 5.] [6. 7. 8.]] print (np.where( x > 5 )) (array([2, 2, 2]), array([0, 1, 2])) 返回值其实是: x[2, 0], x[2, 1], x[2, 2]
3、np.random中shuffle与permutation的区别
函数np.shuffle()与np.permutation()都是对原来的数组进行重新洗牌(即随机打乱原来的元素顺序),区别在于:
shuffle直接在原来的数组上进行操作,改变原来数组的顺序,无返回值。而permutation不直接在原来的数组上进行操作,而是返回一个新的打乱顺序的数组,并不改变原来的数组。
4、np.ascontiguousarray():返回和传入的数组类似的内存中连续的数组
x = np.arange(6).reshape(2,3) print (np.ascontiguousarray(x, dtype=np.float32)) print (x.flags['C_CONTIGUOUS']) 输出: [[0. 1. 2.] [3. 4. 5.]] True
5、np.empty():返回没有初始化的数组,它的值是随机的
print (np.empty([2, 2])) 输出: [[ 0.00000000e+000 -8.77796459e-313] [ 1.40447433e-311 6.17582057e-322]]
6、np.newaxis:为数组增加一个轴
x = np.arange(3) print (x) y=x[:, np.newaxis] print (y) 输出: array([0, 1, 2]) array([[0], [1], [2]])
7、np.tile():将矩阵横向、纵向地复制
a=np.array([[1,2], [3, 4]]) print (a) [[1 2] [3 4]] print (np.tile(a, (1, 4))) # 从最深的维度扩展到原来的4倍 [[1 2 1 2 1 2 1 2] [3 4 3 4 3 4 3 4]] print (np.tile(a, (3, 1))) # 从次深的维度扩展到原来的3倍 [[1 2] [3 4] [1 2] [3 4] [1 2] [3 4]] print (np.tile(a, (3, 4))) # 首先最深的维度扩展4倍,然后次深的维度扩展3倍 [[1 2 1 2 1 2 1 2] [3 4 3 4 3 4 3 4] [1 2 1 2 1 2 1 2] [3 4 3 4 3 4 3 4] [1 2 1 2 1 2 1 2] [3 4 3 4 3 4 3 4]]
8、np.sort()和np.argsort():第一个返回从小到大的排序值,第二个返回从小到大的索引
a=np.array([1,3,2,4]) print (np.sort(a)) # 返回从小到大的排序 [1 2 3 4] print (np.argsort(a)) # 返回从小到大的排序索引 [0 2 1 3] print (np.argsort(-a)) # 返回从大到小的排序索引 [3 1 2 0]
9、np.cumsum():返回当前列之前的和加到当前列上的数组
a=[1,2,3,4,5,6,7] print (np.cumsum(a)) [ 1 3 6 10 15 21 28] c=[[1,2,3],[4,5,6],[7,8,9]] print (np.cumsum(c,axis=0)) # 0(第一行不动,其他行累加) [[ 1 2 3] [ 5 7 9] [12 15 18]] print (np.cumsum(c,axis=1)) # 1(第一列列不动,其他列累加) [[ 1 3 6] [ 4 9 15] [ 7 15 24]]
-
构造函数的8种方式
2021-04-19 09:55:34没有绝对优秀的构造函数的方法,每一种方法都有他们的优缺点,我们需要考虑的是知道他们的应用场景,合理的使用他们,从而达到自己的要求。 1.Object构造函数模式 使用方式:先创建空对象,再添加属性/方法 适用场景...引言:
没有绝对优秀的构造函数的方法,每一种方法都有他们的优缺点,我们需要考虑的是知道他们的应用场景,合理的使用他们,从而达到自己的要求。1.Object构造函数模式
使用方式:先创建空对象,再添加属性/方法
适用场景:起始时不确定对象内部的数据
缺点:语句太多var person = new Object() person.age = 15 person.name = 'Bob' person.run = function () { console.log('run'); }
2.对象字面量
使用方式:使用{}创建对象,同时指定属性/方法
适用场景:起始时对象内部数据确定
缺点:如果创建多个对象,有重复代码var person = { name: 'Bob', age: 15, run() { console.log('run'); } } var person2 = { name: 'Jack', age: 13, run() { console.log('run'); } }
3.工厂模式
使用方式:通过工厂函数动态创建对象并返回
适用场景:需要创建多个对象
缺点:对象没有具体的类型,都是Object类型function createPerson(age, name) { //返回一个对象的函数==》工厂函数 var obj= { name: name, age: age, run() { console.log('run'); } } return obj } var p1 = createPerson(14,'Bob') var p2 = createPerson(15,'Jack') console.log(p1 instanceof createPerson) //false
4.自定义构造函数模式
使用方式:自定义构造函数,通过new创建实例对象
适用场景:需要创建多个类型确定的对象
缺点:每个对象都有相同的数据,浪费内存function Person(age, name) { this.name = name this.age = age this.run = function () { console.log('run'); } } var p1 = new Person(15, 'Bob') console.log(p1 instanceof Person)//true function Dog(age, name) { this.name = name this.age = age this.eat = function () { console.log('eat'); } } var d1 = new Dog(3, 'JoJo') console.log(d1 instanceof Dog)//true
每一个实例上都有相同的方法,但是每一次创建却需要再创建一次。
var p1 = new Person(15, 'Bob') var p2 = new Person(13, 'Jack') console.log(p1, p2)
5.构造函数+原型的组合
使用方式:自定义构造函数,属性在函数中初始化,方法添加到原型上
适用场景:需要创建多个类型确定的对象function Person(age, name) { this.name = name this.age = age } Person.prototype.setName = function (name) { //这里的this是指向每一个实例化后的对象 this.name = name }
现在他的原型上都有一个共有的方法
var p1 = new Person(15, 'Bob') var p2 = new Person(13, 'Jack') console.log(p1, p2)
6.动态原型模式
动态原型函数模式把所有信息都封装在了构造函数中,在构造函数中初始化原型,又保持了同时使用构造函数和原型的优点。function Person(age, name) { this.name = name this.age = age if (typeof this.sayName != 'function') { Person.prototype.sayName = function () { alert(this.name) } } } var p = new Person(15, 'Bob') console.log(p);
如果不用if判断的方式直接在原型上添加方法,那么每一次new一个实例对象的时候都会去重写原型,浪费内存空间,而如果加了判断那么在原型只会在第一次实例话对象的时候就生成了,以后每一次new实例均不会再重写原型对象。7.稳妥构造函数模式
所谓稳妥对象,指的是没有公共属性,而且其方法也不引用this的对象。稳妥对象最适合在一些安全环境中。function Person(age, name) { var o = new Object() job = 'kuli' //私有属性 o.sayName = function () { //共有函数 console.log(name); } o.sayJob = function () { console.log(job); } return o } var p = new Person(15, 'Jack') console.log(p); console.log(p.sayName(), p.sayJob());//Jack kuli console.log(p.name)//undefined 只能通过调用sayName方法查看name属性
8.es6 class
与组合构造函数非常相似,语法更加精炼简洁。class Person { constructor(age, name) { this.age = age this.name = name } setName(name) { this.name = name } } var p1 = new Person(13, 'Bob') p1.setName('Jack') console.log(p1);
-
楼梯有n个台阶,一共有多少种上楼的方法?
2020-09-25 15:22:19一共有多少种上楼的方法? 一、前言 看到这么个题目时,一脸懵逼,不知道说的啥意思,然后就多读了两边题目发现,如果有一阶楼梯,那你就一步就上去了,也就一种方案。如果有两阶楼梯,你可以一个一个的上,你也...楼梯有n个台阶,上楼可以一步上1阶,也可以一步上两阶。一共有多少种上楼的方法?
一、前言
看到这么个题目时,一脸懵逼,不知道说的啥意思,然后就多读了两边题目发现,如果有一阶楼梯,那你就一步就上去了,也就一种方案。如果有两阶楼梯,你可以一个一个的上,你也可以一次跨俩,那么就是两种了,于是就开始了数学式的计算:如下图:
n=3时,种类为1+2
n=4时,种类为3+2(上图少个(2,2)也就是五种)
n=5时,种类为5+3
n=n时,种类为:(n–1)+(n-2)
以此类推,像不像高中的那啥函数?在编程中是如何实现的呢
二、上代码
function stairs(n){ if(n==1){ return 1; } else if(n==2){ return 2 }else{ return stairs(n-1)+stairs(n-2) } }
如果题目条件加入一次可上3阶呢?道理是一样的,动动手,就出来了
-
MATLAB绘制3D隐函数曲面的几种方法
2021-04-18 09:06:56背景介绍Matlab提供了一系列绘图函数,常见的包括绘制2D曲线的plot函数、绘制2D隐函数曲线的ezplot函数、绘制3D曲面的mesh和surf函数、绘制3D显函数曲面的ezmesh和ezsurf函数。值得注意的是,ez系列的绘图函数里只有... -
counta函数 count函数和counta函数的用法
2021-08-03 02:18:58count意思是计数、计算、数数等,count函数和counta函数都是计算非空单元格个数。...countta函数——count函数和counta函数的用法在excel工作表中输入内容,为了便于理解,我们在a,到a8单元格中录入有文... -
核函数 高斯核函数,线性核函数,多项式核函数
2022-01-17 19:37:07核函数是我们处理数据时使用的一种方式。对于给的一些特征数据我们通过核函数的方式来对其进行处理。我们经常在SVM中提到核函数,就是因为通过核函数来将原本的数据进行各种方式的组合计算,从而从低维数据到高维... -
Python函数参数的五种类型
2020-12-29 17:49:53首先需要了解函数参数的类型,Python的参数类型一共有5种:POSITIONAL_OR_KEYWORD、VAR_POSITIONAL、VAR_KEYWORD、KEYWORD_ONLY、POSITIONAL_ONLY其中 POSITIONAL_OR_KEYWORD、VAR_POSITIONAL、V... -
python基础之四种函数类型、函数的嵌套调用、函数的局部变量和全局变量
2019-01-06 20:32:25函数根据有没有参数,有没有返回值,可以相互组合,一共有4种 * 无参数,无返回值 * 无参数,有返回值 * 有参数,无返回值 * 有参数,有返回值 <1>无参数,无返回值的函数此类函数,不能接收参数,也... -
递归求解斐波那契fib(10)一共调用了多少次fib()函数
2019-09-26 08:03:04定义fib()如下: int fib( int n) { count ++ ; if (n==0 ...fib(10),一共调用了 177次。 其实上面是360的一道面试题 转载于:https://www.cnblogs.com/OliverZhang/p/7225120.html -
聚合函数
2020-02-18 16:29:35常见的聚合函数有 Count,Max,Min,Sum,Avg这五个 使用这些函数需要aggregate来调用。 返回值是一个字典 从下面返回的那些结果可以看见,字典的键的命名是属性名+聚合函数名 使用示例 函数 使用示例 说明 结果 ... -
面试题:小明爬楼梯,一次只能上1级或者2级台阶,一共有n级台阶,一共有多少种方法上台阶?python实现
2019-07-15 13:38:48如果有两级台阶,则有2种方法 当级数为n的时候有以下两种情况: 1、第n级台阶时是在n-1级上1级上来的 2、第n级台阶时是在n-2级上2级上来的 可以使用递归实现。 def upstairs(num): if num==1: return 1 if num==2:... -
Python中的函数
2021-10-12 09:10:10今天天气有些回暖,我们讲一下python的函数,逻辑性比较强,大家看的仔细点,然后练习的时候注意些别打错了。 一、作业回顾 需求:编写一段Python代码,生成一个随机的4位验证码 提前:定义一个字符串 str1 = ... -
C++ 编译器是否隐含生成默认构造函数和默认复制构造函数的4种情况讨论
2019-03-28 19:04:36① 类内有自定义构造函数... 此时该类一共有2个构造函数:自定义构造函数和自定义复制构造函数。 ② 类内有自定义构造函数,无任何复制构造函数 根据C++标准定义,有自定义构造函数,则无默认构造函数;无自... -
Python基础必掌握的5种数据类型和8种内置函数基本操作
2022-03-21 14:16:07今天跟着我一起学习/复习一下Python语法的5种基本数据类型和8种数据基本操作。如果你已经掌握了这块内容,也建议跟着文中代码进行操作加深印象巩固学习成果。整套学习自学教程中应用的数据都是《三國志》、《真·三... -
窗口函数
2021-01-11 19:12:30关于使用窗口函数 当你使用group by分区时,窗口函数的范围为group by分区的范围,即: select name, count(*)over(rows between UNBOUNDED PRECEDING and current row) from business where date_format... -
N阶台阶,每次只能走一个台阶或者两个台阶,求一共有多少种走法?
2015-09-11 21:26:35* 一共20个台阶,每次只能走一步或者两步,问一共有多少种走法 * @param n为台阶数 * @return 一共多少种走法 */ public static int Taijie(int n){ if(n==1) num=1; if(n==2) num=2; if... -
OPENGL常见函数介绍
2017-10-02 21:07:03核心库包含有115个函数,函数名的前缀为gl。 这部分函数用于常规的、核心的图形处理。此函数由gl.dll来负责解释执行。由于许多函数可以接收不同数以下几类。据类型的参数,因此派生出来的函数原形多达300多个。... -
Flink自定义函数
2022-03-28 09:11:0103 自定义函数分类3.1 Scalar Function3.1.1 Scalar Function如何实现?3.1.2 Scalar Function举例3.1.3 特殊返回值处理3.2 Table Function3.2.1 Table Function如何实现?3.2.2 Table Function举例3.3 Aggregation ... -
Python3 函数
2020-12-05 13:51:20定义:函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。目的:函数能提高应用的模块性,和代码的重复利用率。分类:内建函数、自定义函数。你已经知道Python提供了许多内建函数,比如print()。... -
一篇文章看透母函数、矩、矩母函数联系与区别
2019-10-31 11:41:02矩母函数的暴力拆解一篇文章看透母函数、距、矩母函数联系与区别导读Party1:母函数Party2:矩Party2:矩母函数 一篇文章看透母函数、距、矩母函数联系与区别 矩母函数?是《概率论》里面一个重要的定义,对统计学和... -
C++虚函数详解
2021-05-26 10:25:431.虚函数的使用? 1.1虚函数的定义 在实现c++多态时会用到虚函数。虚函数使用的其核心目的是通过基类访问派生类定义的函数。所谓虚函数就是在基类定义一个未实现的函数名,为了提高程序的可读性,建议后代中虚函数... -
Python中的所有函数大全都在
2020-08-13 00:11:50文章目录函数的文档说明函数定义和调用函数参数函数返回值4种函数的类型函数应用:打印图形和数学计算函数的嵌套调用局部变量全局变量函数使用注意事项匿名函数递归函数 函数的文档说明 def test(a,b): … “用来... -
构造函数详解
2020-08-04 16:04:35构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,保证每个数据成员都有一个合适的初始值,并且在对象的生命周期内只调用一次。 构造函数的特性 函数名与类名相同。 无返回值。 ... -
js中的4种函数调用模式:函数调用、方法调用、构造器调用、间接调用
2017-09-17 11:19:28js系列教程4-函数、函数参数教程全解js中的4种函数调用模式javascript一共有4种调用模式:函数调用模式、方法调用模式、构造器调用模式和间接调用模式。【1】函数调用模式 当一个函数并非一个对象的属性时,那么它... -
SQL教程——常见函数之分组函数
2020-11-30 15:07:02功能:用作统计使用,又称为聚合函数或统计函数或组函数 分类:sum求和、avg平均值、max最大值、min最小值、 count计算个数 特点: 1、sum、avg一般用于处理数值; max、min、count可以处理任何类型。 2、以上... -
【深度学习理论】(1) 损失函数
2022-03-13 17:57:54构造损失函数之后,我们的目标就是将损失函数的值最小化,使用梯度下降的方法求得损失函数对于每个权重的偏导数。 损失函数公式如下,f 代表一张图像属于每个类别的分数;yi 代表真实的标签;Li -
编程题-有n步台阶一次只能上1步或2步共有多少种走法
2019-08-09 17:29:27有n步台阶,一次只能上1步或2步,请共有多少种走法,请使用编程实现。 编程题实现: 方法1-递归 //实现f(n):求n步台阶,一共有几种走法 public int f(int n){ if(n<1){ throw new ... -
损失函数
2019-09-30 10:11:23损失函数(loss function)是用来估量你模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心部分,也是结构... -
python中函数的定义和调用注意事项
2018-08-10 16:37:27目录 1.函数的定义注意事项 2.函数调用的注意事项 3.函数参数传递的本质 4.匿名的函数lambda的使用 5.return语句的使用注意事项 ...1.函数的定义注意事项 ...1.函数的格式: ... 函数体 #如果需要返回值,有r...