index函数

day10函数对象,嵌套,名称空间,作用域

戏子无情 提交于 2019-12-04 06:30:14
函数对象 函数名是可以被引用: def index(): print('from index')a = index #函数名赋值给a。a() #执行a 函数名可以当做参数传递 def foo(x, y, z): print(x, y) z() def bar(): print('from bar') foo(1, 2, bar) # bar = z, z()=bar(),打印:from bar 函数名可以当作返回值使用 ***传参的时候没有特殊要求,一定不要加括号,加括号当场执行。 def index(): #第一步:定义函数没有执行 print('from index')def func(a): #第二步:定义函数 return a #第五步:输出from indexa = func(index) #第三步执行a,index = aa() #第四步执行a,相当于index(). 函数名可以被当作容器类型的元素 def func(): print('from func') #函数定义,没有执行​l1 = [1, 2, 3, func, func()] #func()直接执行,打印:from funcf = l1[3] #func的出的时他的地址print(f)​输出结果:from func<function func at 0x000001F8D7B63948>​ 函数的嵌套

Jquery之each函数详解

末鹿安然 提交于 2019-12-04 05:33:26
目录 Jquery之each函数详解 全局jQuery.each() 函数详解 each函数处理一维数组 each函数遍历二维数组 使用each函数遍历对象属性 jQuery.each()函数同样可以遍历jQuery对象中匹配的元素 遍历Dom中的元素 再来看一个Json的子: 区别 $ ().each()和$.each()/jQuery.each() 总结 $().each $.each() Jquery之each函数详解 全局jQuery.each() 函数详解   所谓全局jQuery.each()函数也即是指$.each()函数,它可以用来遍历任何一个集合,不管是一个JavaScript对象或者是一个数组,或者是一个JSon对象。它的基本语法如下: $.each(collection, callback(indexInArray, valueOfElement) ) collection可以是数组,可以是任何一个JS对象或者JSON对象,callback我们称之为回掉函数;如果是一个数组的话,回调函数每次传递一个数组的下标和这个下标所对应的数组的值;callback回调函数用于遍历指定的对象和数组,并以对象的每个属性(或数组的每个成员)作为上下文来遍历执行指定的函数。 我们来看下面的几个例子大家就明白了: each函数处理一维数组 var arr1 = [ "aaa",

python基础语法5 函数定义

不羁岁月 提交于 2019-12-04 02:36:42
函数 1、什么是函数   函数就是一种工具。   可以重复调用 2、为什么要用函数   1、防止代码冗(rong)余   2、代码的可读性差 3、怎么用函数   1、定义函数-->制造工具   2、调用函数-->使用工具   1、无参函数:     def index():     print('ok')   2、空函数:     def login():       pass   3、有参函数:     def login(username):       print(username) 可以:a=index    a()使用函数 返回值:   1、不写return:默认返回None   2、只写return:只有结束函数体代码的效果,返回None   3、写return None :与只写return的效果相同   4、return返回一个值: 可以将返回的结果,当做一个变量值来使用   5、return返回多个值:     1、将返回的多个值,默认存入元组返回     2、函数的返回值不想被修改     3、可以自己指定返回的数据类型 函数的参数:   参数的类型:     形参:     实参:   传参方式:     位置参数     关键字参数     默认参数   可变长参数:     *args:接收所有溢出的位置参数     **kwargs

第九天

白昼怎懂夜的黑 提交于 2019-12-04 01:49:21
第九天 函数 '''1、无参函数:def index(): print('ok')2、空函数:def index(): passdef login(): pass3、有参函数:def login(username): print(udername)''' 返回值: 1、不写return:默认返回None 2、只写return:只有结束函数体函数的效果,返回None 3、写return None:只有结束函数体函数的效果,返回None 4、return返回一个值:可以将返回的结果,当做变量被使用 5、return返回多个值:将返回多个值,默认存入元组返回 函数的返回值不想被修改() 可以自己指定返回的数据类型 return是一个函数结束的标志,函数体代码只要执行到return,函数执行结束 # 不写return# def index():# print('hello world')# print(index())# hello world# None#只写return# def index():# print('hello world')# return# print(index())# hello world# None# 写return None# def index():# print('aiwanglu')# return None# print(index())#

函数的基本使用

左心房为你撑大大i 提交于 2019-12-04 01:46:49
函数的基本使用 引入 基于前一部分的学习,我们已经能开发一些功能简单的小程序了,但随着程序功能的增多,代码量随之增大,此时仍不加区分地把所有功能的实现代码放到一起,将会使得程序得组织结构不清晰,可读性变差,且程序中需要频繁使用同意功能时,只能重复编写该功能的实现代码,日积月累,程序将变得冗长,并且当某一功能需要修改时,又不得不找出所有定义及使用这段功能的地方修改之,管理维护的难度极大。 我们完全可以从现实生活中找到简化程序设计的方案:比如一个修理工会事先准备好螺丝刀,锤子等工具,这样在进行修理的过程中,需要用到拧螺丝的功能时就直接拿来螺丝刀使用,需要用到锤击物体的功能时就直接拿来锤子使用,无需临时制造,这个例子的核心在于“事先准备好工具”,遇到应用场景时,“拿来就用” 在程序中,具备某一功能的工具指得就是函数,“事先准备工具”的过程即函数的定义,“拿来就用”即函数的调用 定义函数 函数的使用必须遵守“先定义,后调用”的原则。函数的定义就相当于事先将函数体代码保存起来,然后将内存地址赋值给函数名,函数名就是对这段代码的引用,这和变量的定义是相似的,没有事先定义函数而直接调用,就相当于在引用一个不存在的“变量名” 定义函数的语法 def 函数名(参数一,参数二,....): """文本描述""" 函数体 return 值 1、def:定义函数的关键字 2、函数名:函数名指向函数内存地址

Kmeans 的 CUDA 并行实现

寵の児 提交于 2019-12-04 01:28:14
1. Kmeans 步骤 常规的 Kmeans 步骤: 1. 初始化聚类中心 2. 迭代 1. 计算每个样本与聚类中心的欧式距离 2. 根据样本与聚类中心的欧式距离更新每个样本的类标签 3. 根据类标签更新聚类中心 本文中并行化的 Kmeans 的步骤: 初始化每个样本的类标签 迭代 统计每一类的样本和 统计每一类的样本个数 计算每一类的聚类中心:样本和 / 样本个数 计算每个样本与每个聚类中心的欧式距离 根据每个样本与聚类中心的欧式距离更新样本的类标签 如下所示: /* 样本聚类索引的初始化*/ KmeansCUDA_Init_ObjClusterIdx<<<>>>(); for ( int i = 0 ; i < maxKmeansIter; i++) { /* 统计每一类的样本和 */ KmeansCUDA_Update_Cluster<<<>>>(); /* 统计每一类的样本个数 */ KmeansCUDA_Count_objNumInCluster<<<>>>(); /* 聚类中心平均 = 样本和 / 样本个数 */ KmeansCUDA_Scale_Cluster<<<>>>(); /* 计算每个样本与每个聚类中心的欧式距离 */ KmeansCUDA_distOfObjAndCluster<<<>>>(); /* 根据每个样本与聚类中心的欧式距离更新样本的类标签 */

六、迭代器、生成器和装饰器

随声附和 提交于 2019-12-03 15:36:33
1.迭代器 定义 能被next()函数进行调用且不断返回下一个值的对象。其内置方法中包含 __iter__ (返回迭代器本身)和 __next__ (返回容器的下一个元素)。 特征 迭代器会生成惰性序列,它通过计算把值依次的返回,一边循环一边计算,而不是一次性得到所有的数据。 优点 需要数据的时候,一次取一个,可以在很大程度上节省内容空间,而不是一次性把所有的数据存入内存中;此外,可以遍历无限量的数据。 创建 使用 iter() 函数来创建。 string = iter('abcd') print(next(string)) print(next(string)) print(next(string)) print(next(string)) # 遍历完成之后继调用 print(next(string)) # 输出结果 StopIteration a b c d # 注意:当遍历完序列时,会引发一个StopIteration异常。使用for循环可以规避整个问题(for循环的底层使用了next方法)。 string = iter('abcd') for item in string: print(item) # 输出结果 a b c d 2. 生成器 定义 包含了yield语句的函数。 特征 执行生成器函数时,其内部代码不执行,而是返回一个生成器对象( 特殊的迭代器 )

es6中reduce()方法和reduceRight()方法

蓝咒 提交于 2019-12-03 15:35:15
es6中reduce()方法 从左往右开始 参数: prev:它是上一次调用回调时返回的结果,每次调用的结果都会给prev cur:当前的元素 index:当前的索引 arr:循环的数组 返回值: 函数累计处理的结果 demo: 求数组的和。 var a = [1,2,3,4,5,6,7,8,9,10] var str = a.reduce(function(prev,cur,index,arr){ return prev + cur ; }) str // 55; 求阶乘 var a = [1,2,3,4,5,6,7,8,9,10] var str = a.reduce(function(prev,cur,index,arr){ return prev * cur ; }) str //3628800 求幂 新增的一个运算符 A ** B; var a = [2,3,4]; var str = a.reduce(function(prev,cur,index,arr){ return prev ** cur ; }) str // 4096 将二维数组转换成一维 var a= [[0,1],[2,3],[4,5],[6,7],[8,9]]; var str = a.reduce(function(prev,cur){ return prev.concat(cur) }) str

pandas 的拼接merge和concat函数小结

∥☆過路亽.° 提交于 2019-12-03 13:58:41
pandas中数据的合并方案主要有concat,merge,join等函数。 其中concat主要是根据索引进行行或列的拼接,只能取行或列的交集或并集。 merge主要是根据共同列或者索引进行合并,可以取内连接,左连接、右连接、外连接等。 join的功能跟merge类似,因此不再赘述。 import pandas as pd from pandas import Series,DataFrame # 定义一个函数,根据行和列名对元素设置值 def make_df(cols,inds): data = {c:[c+str(i) for i in inds] for c in cols} return DataFrame(data,index=inds) df1 = make_df(list("abc"),[1,2,4]) df1 */ /*--> */ a b c 1 a1 b1 c1 2 a2 b2 c2 4 a4 b4 c4 df2 = make_df(list("abcd"),[2,4,6]) df2 */ /*--> */ a b c d 2 a2 b2 c2 d2 4 a4 b4 c4 d4 6 a6 b6 c6 d6 df11=df1.set_index('a') df22=df2.set_index('a') 1. concat函数 axis :默认为0,为按行拼接;1

tolua#代码简要分析

时光毁灭记忆、已成空白 提交于 2019-12-03 13:56:17
简介 tolua#是Unity静态绑定lua的一个解决方案,它通过C#提供的反射信息分析代码并生成包装的类。它是一个用来简化在C#中集成lua的插件,可以自动生成用于在lua中访问Unity的绑定代码,并把C#中的常量、变量、函数、属性、类以及枚举暴露给lua。它是从cstolua衍变而来。从它的名字可以看出,它是集成了原来的tolua代码通过二次封装写了一个C#与tolua(c)的一个中间层。 All problems in computer science can be solved by another level of indirection, except of course for the problem of too many indirections 基础 要想了解tolua#是如何集成的我们需要对C#的一些特性有一些了解,比如了解C#与原生代码交互的方式等。,我们假设读者已经对lua和tolua++有一个比较熟悉,我们略过lua与c或者C++的交互方式,主要介绍一些C#的特性,来帮助我们接下来分析tolua#的集成原理。 C#特性 Attribute Attribute 是一种可由用户自由定义的修饰符(Modifier),可以用来修饰各种需要被修饰的目标。特性Attribute 的作用是添加元数据。元数据可以被工具支持,比如:编译器用元数据来辅助编译