- 博客(83)
- 收藏
- 关注
原创 Python之functools模块之lru_cache
1.频繁使用2.每一次获取代价高3.一定时间内,每一次同样输入获得同样的结果,幂等性。压力大预热lru_cache装饰器应用使用前提同样的函数参数一定得到同样的结果,至少是一段时间内,同样输入得到同样结果计算代价高,函数执行时间很长需要多次执行,每一次计算代价高本质是建立函数调用的参数到返回值的映射缺点不支持缓存过期,key无法过期、失效不支持清除操作不支持分布式,是一个单机的缓存。
2024-03-23 20:17:02 576
原创 Python之functools模块之reduce、partial
【代码】Python之functools模块之reduce、partial。
2024-03-23 20:03:28 1083
原创 Python之装饰器-类型注解和类型检查装饰器
动态类型对类型的约束不强,在小规模开发的危害不大,但是随着Python的广泛使用,这种缺点确实对 大项目的开发危害非常大。
2024-03-23 18:32:12 373
原创 Python之装饰器-无参装饰器
装饰”代指为被装饰对象添加新的功能,“器”代指器具/工具装饰器的作用:就是在不修改被装饰对象源代码和调用方式的前提下为被装饰对象添加额外的功能。装饰器使用场景:插入日志、性能测试、事务处理、缓存、权限校验可以调用的有:函数、方法、类函数装饰器分为:无参装饰器和有参装饰,二者都是使用都是需要【名称空间+函数嵌套+闭包+函数对象的组合知识】使用“@”符号定义装饰器,前提是需要有一个函数作为工具然后被“@”装饰到其他函数头上,为这个函数添加功能。
2024-03-23 17:01:33 425
原创 算法之选择排序
num_list = [[1, 9, 8, 5], [9, 1, 8, 5]] # 列表套列表nums = num_list[1] # 选择排序的列表,也就是索引1的列表count_iter = 0 # 比较次数count_swap = 0 # 交换次数for i in range(length // 2): # 2个数找1次,3个数找1次,4个数找2次,5个数找2次,这就是为什么整除2。
2023-11-29 15:39:14 471
原创 Python之练习(四)
1、求n的阶乘2、解决猴子吃桃问题猴子第一天摘下若干个桃子,当即吃了一半,还不过硬,有多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到了第10天早上想吃时,只剩下一个桃子了。求第一天共摘了多少个桃子。
2023-11-18 17:32:33 180
原创 Python之函数进阶-递归函数
递归是一种很自然的表达,符合逻辑思维递归相对运行效率低,每一次调用函数都要开辟栈帧递归有深度限制,如果递归层次太深,函数连续压栈,栈内存很快就溢出了如果是有限次数的递归,可以使用递归调用,或者使用循环代替,循环代码稍微复杂一些,但是只要不是死循环,可以多次迭代直至算出结果绝大多数递归,都可以使用循环实现即使递归代码很简洁,但是能不用则不用递归# a = b = 1 # 可以这样写a = 1b = 1return bfib1(101)# 函数实现斐波那契数列 循环实现。
2023-11-14 22:34:54 191
原创 Python之函数进阶-生成器函数
生成器对象生成器表达式, 每一次生成器表达式执行一次都会得到一个全新的生成器对象生成器函数,每一次函数调用都会得到全新的生成器对象。只要有yield语句的函数都是生成器函数生成器函数每一次执行到yield这一句,把yield的值返回return非常强势,见到它函数就完了。如果你用next驱动生成器对象,碰到了return,用for不会抛出异常碰到return就退出了惰性本身是推荐的,还有它用在了协程中,线程、进程之后# 示例def inc():count = 0。
2023-11-12 15:49:31 409
原创 Python之函数-形参和返回值
args,或除了可变参数外,都可以有缺省值,定义时,如果没有提供该参数,动用缺省值.仅位置和普通参数,一起算,缺省值的定义往后放仅关键字参数,缺省值无所谓先后。
2023-10-31 23:07:13 327
原创 Python之函数-可变形参
有可变位置参数和可变关键字参数可变位置参数在形参前使用一个星号*可变关键字参数在形参前使用两个星号**可变位置参数和可变关键字参数都可以收集若干个实参,可变位置参数收集形成一个tuple,可变 关键字参数收集形成一个dict混合使用参数的时候,普通参数需要放到参数列表前面,可变参数要放到参数列表的后面,可变位 置参数需要在可变关键字参数之前。
2023-10-29 20:43:34 278
原创 Python之函数-函数概念
def 函数名(参数列表):函数体(代码块)[return 返回值]函数名就是标识符,命名要求一样语句块必须缩进,约定4个空格Python的函数若没有return语句,会隐式返回一个None值定义中的参数列表称为形式参数,只是一种符号表达(标识符),简称形参。
2023-10-29 18:59:13 99
原创 Python之作业(三)
需求是生成产品ID,有两部分前面是顺序的数字6位,分隔符点号,后面是10个随机小写英文字符。1、先取出10位连续的英文字符可以重复取。
2023-10-25 19:39:26 139
原创 Python之哈希表-遍历和有序性
但是,有时候我们却需要一个有序的元素顺序,Python 3.6之前,使用OrderedDict类可以做到,3.6开。始dict自身支持。
2023-10-21 14:51:24 275
原创 Python之哈希表-字典
Python2中,上面的方法会返回一个新的列表,立即占据新的内存空间。所以Python2建议使用iterkeys、itervalues、iteritems版本,返回一个迭代器,而不是返回一个copy。
2023-10-21 09:43:42 147
原创 Python之切片
在序列上使用切片[start:stop],子区间索引范围[start, stop),相当于从start开始指向stop的方向上获 取数据。如果子区间方向和步长方向不一致,直接返回当前类型的"空对象"如果子区间方向和步长方向一致,则从起点间隔步长取值。默认step为1,表示向右;步长为负数,表示向左。
2023-10-18 22:01:34 637
原创 Python之字节类型
bytes类型和str类型类似,都是不可变类型,操作方法类似。由于bytearray类型是可变数组,所以,类似列表。b前缀表示的是bytes,不是bytearray类型。
2023-10-18 20:30:57 235
原创 Ascii码表
Ascii码表Bin(二进制)Oct(八进制)Dec(十进制)Hex(十六进制)缩写/字符解释0000 00000000x00NUL(null)空字符0000 00010110x01SOH(start of headline)标题开始0000 00100220x02STX (start of text)正文开始0000 00110330x03ETX (end of text)正文结束0000 01000440
2023-10-06 20:21:49 223
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人