python总结6

来源:互联网 发布:java实现线程安全 编辑:程序博客网 时间:2024/05/06 00:26

函数:
函数的定义:所谓函数,就是把具有独立功能的代码块组织为一个小模块,在需要的时候调用

函数的使用包含两个步骤:

1. 定义函数—封装独立的功能

2. 调用函数—享受封装的成果

函数的作用:在开发程序时,使用函数可以提高编写的效率以及代码的重用

参数的作用:

1.函数,把具有独立功能的代码块组织为一个小的模块,在需要的时候调用

2. 函数调用的时候,安装函数定义的参数顺序,把希望在函数内部处理的数据,通过参数传递

形参和实参:
函数:
函数的定义:所谓函数,就是把具有独立功能的代码块组织为一个小模块,在需要的时候调用

函数的使用包含两个步骤:

1. 定义函数—封装独立的功能

2. 调用函数—享受封装的成果

函数的作用:在开发程序时,使用函数可以提高编写的效率以及代码的重用

参数的作用:

1.函数,把具有独立功能的代码块组织为一个小的模块,在需要的时候调用

2. 函数调用的时候,安装函数定义的参数顺序,把希望在函数内部处理的数据,通过参数传递

形参和实参:

1.形参:定义函数时,小括号中的的参数,是用来接受参数用的,在函数内部作业变量使用

2. 实参:调用函数时,小括号中的参数,是用来把数据传递到函数内部用的


 

随机数

函数名称 函数功能参数说明
rand(d0, d1, …, dn) 产生均匀分布的随机数dn为第n维数据的维度
randn(d0, d1, …, dn) 产生标准正态分布随机数dn为第n维数据的维度
randint(low[, high, size, dtype]) 产生随机整数low:最小值;high:最大值;size:数据个数
random_sample([size]) 在[0,1)内产生随机数size:随机数的shape,可以为元祖或者列表,[2,3]表示2维随机数,维度为(2,3)
random([size]) 同random_sample([size])同random_sample([size])
ranf([size]) 同random_sample([size])同random_sample([size])
sample([size])) 同random_sample([size])同random_sample([size])
choice(a[, size, replace, p]) 从a中随机选择指定数据a:1维数组 size:返回数据形状
bytes(length) 返回随机位length:位的长度
生成器
生成器是这样一个函数,它记住上一次返回时在函数体中的位置。对生成器函数的第二次(或第 n 次)调用跳转至该函数中间,而上次调用的所有局部变量都保持不变。
生成器不仅“记住”了它数据状态;生成器还“记住”了它在流控制构造(在命令式编程中,这种构造不只是数据值)中的位置。

生成器的特点:
生成器是一个函数,而且函数的参数都会保留。
迭代到下一次的调用时,所使用的参数都是第一次所保留下的,即是说,在整个所有函数调用的参数都是第一次所调用时保留的,而不是新创建的

生成器表达式示例:
–sum(x** 2 for x in xrange(4))
–而不用多此一举的先构造一个列表:
–sum([x** 2 for x in xrange(4)])
•语法上和函数类似:
–区别:生成器使用yield语句返回一个值,而常规函数使用return语句返回一个值
•自动实现迭代器协议:
–对于生成器,Python会自动实现迭代器协议,(如for循环,sum函数)。由于生成器自动实现了迭代器协议,所以,我们可以调用它的next()方法,并且,在没有值可以返回的时候,生成器自动产生StopIteration异常
•状态挂起:
–生成器使用yield语句返回一个值。yield语句挂起该生成器函数的状态,保留足够的信息,以便之后从它离开的地方继续执行
•生成器的好处是延迟计算,一次返回一个结果。也就是说,它不会一次生成所有的结果,这对于大数据量处理,将会非常有用
–sum([ifor i inxrange(10000000000)])
–sum(ifor i inxrange(10000000000))
•对于前一个表达式还没有看到最终结果电脑就已经卡死,对于后一个表达式,几乎没有什么内存占用。


•代码简洁,易于阅读
–求一段文字中,每个单词出现的位置
defindex_words(text):
    result=[]
    if text:
        result.append(0)
    for index,letter in enumerate(text,1):
        if letter == ' ':
            result.append(index)
    return result
result=index_words("I am rong")
for a in result:
    print(a)


使用生成器的情况:


defindex_words(text):
    if text:
        yield 0;
    for index,letter in enumerate(text,1):
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 安溪古镇 安溪风景 安溪中山 安溪印刷 安溪相亲 安溪高楼 安溪民宿 安溪硅藻泥 安溪大厦 安溪保洁 安溪永隆 安溪招聘网 安溪洒店 安溪证券 安溪万隆 安溪公寓 安溪是哪里 安溪八中 安溪至南昌 安溪温泉 安溪中专 安溪助听器 安溪彩印 安溪兼职 安溪借贷 安溪公安 安溪茶叶店 安溪按摩 安溪刻章 安溪瑜伽 安溪土楼 安溪代驾 安溪摄影 安溪发展 安溪洗浴 安溪保安 安溪舞蹈 安溪拍婚纱 安溪到长汀 安溪蛋糕 安溪白石岩风景区