
python
疯狂python程序员
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
生成器和生成式
1.生成器如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制,称为生成器(Generator)。延迟计算、惰性求值节省内存,高效缺点:无法随机存取生成器(Generator) 生成器会产生一个对象,而不是一个列表1.1yield表达式#通过函数和yield关键字生成#使用了 yield 的函数被称为生成器(generator)#yield语句一次返回一个原创 2020-05-19 23:24:38 · 257 阅读 · 0 评论 -
python中的装饰器
软件开发中有一条非常重要的规则就是:对修改封闭,对扩展开放。对于一个现有的函数,如果想要增强此函数的功能,但是不允许修改此函数源代码的时候,使用装饰器来解决这个问题本质:就是一个闭包,还是一个返回函数的高阶函数好处:就是在不用修改原函数代码的前提下给函数增加新的功能1 装饰器写法#被修饰的函数def say_hello(name): print('我就是人见人爱,花见花开的%s'%name) # 参数是被修饰函数def wrapper(func): #1.定义装饰器原创 2020-05-19 22:36:30 · 149 阅读 · 0 评论 -
python中的函数(二)
1.函数类型函数也是一种类型,我们自定义的函数就是函数对象,函数名保存了函数对象的引用(地址)def test(): print('我是测试函数')print(test) #函数名是变量,指向了函数对象pf = test #pf变量也指向了函数对象,所以也可以通过pf调用test函数pf()2. 匿名函数不再使用def 函数名()这种形式定义函数,而是使用lambda来创建匿名函数特点:lambda只是一个表达式,函数体比def定义的函数简单的多lambda的函数体原创 2020-05-18 20:23:56 · 336 阅读 · 0 评论 -
python的函数(一)
函数我们写过九九乘法表,但如果我要七七乘法表或五五乘法表的话,你会看到三者代码极其类似,只是循环变量不同,那么如何做到代码重用,而不是简单拷贝黏贴修改呢,其实可是使用函数完成这一功能def table(row,col): for i in range(1, row + 1): for j in range(1, col + 1): if j <= i: print("%d*%d = %2d" % (i, j, i *原创 2020-05-18 20:18:20 · 221 阅读 · 0 评论 -
python中的字典
字典字典属于无序序列,元素存放无序,是通过哈希方式进行数据存取的,字典是一个可变容器,字典中保存一个个的键值对: key : value。我们通过key来获取对应的值,很类似我们的汉语字典。字典中键必须是唯一的,必须是不可变类型字典查找速度比较快1 字典的创建d1 = {} #空字典d1 = dict() #空字典d2 = {'name':'麻辣龙虾','taste':'美味'}d3 = dict(a=1,b=2)d4 = dict([('a', 1),('b', 2)])d5原创 2020-05-16 23:08:44 · 194 阅读 · 0 评论 -
python中的元组
元组元组和列表相似,但元组属于不可变序列,所以元组:不能修改元素的值元组用()表示1.创建元组 t1 = () #创建一个空元组 #或者 t1 = tuple() #空元组 t2 = (1,) #创建带有一个元素的元组,后面的逗号是必须的,否则无法区分是()表达式还是元组 或者:t2 = 1, t3 = (1,4,True,'hello') t4 = 10,20,30 #t4 = (10,20,30) t5 = tuple(原创 2020-05-16 23:04:18 · 252 阅读 · 0 评论