python底层算法篇
冬眠的关刀
这个作者很懒,什么都没留下…
展开
-
python 多except子句
TypeError:在提供的参数类型和数量与格式化字符串模板不符合的时候弹出。ValueError:在格式化字符串本身不符合规范时弹出。原创 2022-08-22 14:33:32 · 432 阅读 · 0 评论 -
python dict查询并可能修改键对应的值的setdefault方法
在第一次循环开始的时候,会新添加一个攻击的键,值为0。这里是一个给字典添加攻击键值的操作,原创 2022-08-18 11:32:52 · 260 阅读 · 0 评论 -
python2.x 实现 仿UE5-UHT工具
直接代码上原创 2022-07-04 17:32:41 · 355 阅读 · 0 评论 -
python 2.7 条件语句执行顺序分析
得到的结果是 0 (没有执行a)如果调换顺序得到的结果就是1了(执行了一次a)得到的结果是 Trueb的值为1(只执行了一次a)可见 and or的结果都是从左向右运算,而且已预知是否满足条件的情况下会提前中断。...原创 2022-06-13 14:32:14 · 98 阅读 · 0 评论 -
【Python】 类的原理 与 metaclass 单例模式
class 实际上是继承于type而构建一个type,需要三个东西,类的名字它的父类,tuple类型元组dicttype() 输入一个参数,返回的是参数的typetype() 输入三个参数,返回的是一个新的typeclass A(): passA = type("A",(),{})以上两种写法是完全等价的。为什么要引入__metaclass__?因为type()直接调用到C函数里,我们没办法自定义一些中间的过程了。所以提供给我们一个__metaclass__的方法,去定义中原创 2022-05-31 19:42:10 · 163 阅读 · 0 评论 -
python 实现glsl基类 vec2
# -*- coding: utf-8 -*-"""" Desc: 线性运算库"""class vec2: def __init__(self,*args): if len(args) == 0: y = x = 0; elif isinstance(args[0],tuple) or isinstance(args[0],list): x = args[0][0]; y = args[0原创 2022-04-14 17:25:45 · 674 阅读 · 0 评论 -
python dict类型底层实现原理
数据结构 HashMapdict 其实叫做字典是属于直译了我个人比较喜欢叫他hashmap因为在不同的编程语言中,数据结构都是大同小异的,迁移到其他编程语言的数据结构,这个结构就叫hashmap写一段python的伪代码dict[key] = value;在python中 字典的keyvalue叫做键值对,hashmap[hash] = value;在数据结构hashmap中是以hash值作为键的其实dict的底层也是给变量存了一个hash值,默认是这个变量的id(也就是地址)__h原创 2022-03-06 15:14:02 · 1798 阅读 · 1 评论 -
2021-10-08【Python】对于类的实例化的限制,防止错误方法产生数据不完整的类
限制直接构造把类的实例化封装到get接口中,对于不同的构造方法,封不同的get接口使用装饰器统一控制所有get接口具体写法#脏数据垃圾回收def check(func): def wrap(*args, **kwargs): obj = func(*args, **kwargs); if hasattr(obj,"errordata"): return obj.errordata return obj return wrap在get接口前用 @check 修饰在构造方原创 2021-10-08 20:05:13 · 101 阅读 · 0 评论 -
【原创】python 字节流操作tga格式图像文件 先码后看,更新中
由于业务需要,tga格式的文件需要在软件系统中被直接调用但是python目前的库都没有支持tga格式的解码所以关刀阅读了tga格式的编码文档,决定做出一套解码函数原创 2021-06-29 15:34:30 · 1222 阅读 · 0 评论 -
tkinter grid与pack方法无法同时使用的处理办法
grid是表格式排列pack的排列比较自由这两者同时在一个widget上使用会发生error可以用tkinter.Frame类来把一个widget划分为多个框架,在需要grid或pack的地方放一个Frame即可原创 2021-05-16 22:29:20 · 1899 阅读 · 0 评论 -
python中 lambda的动态构造函数用法!涨知识了!
我们在使用lambda函数的时候常常会遇到这样的问题lambda函数虽然写好了,但是不够灵活,比如说,我们在lambda函数中使用一个参数i在定义参数i的时候它还是指向正确的值,隔一段时间,它被程序修改了,那么就可能会指向错误的值导致lambda函数执行时发生不可预测的异常,甚至有时候还没有errortk.Button(window, text=i + '日志记录', command=lambda:CreateView(i,"Log",Rewrite_data.read_txt(i))).pac原创 2021-05-16 19:08:13 · 896 阅读 · 0 评论 -
python A类中方法传递到B类 A类方法的self仍指向原来的A类
原创 2021-04-22 12:45:18 · 177 阅读 · 0 评论 -
目前教学对于python切片问题的误区
a=[1,2,3]b=aprint(id(a),id(b),id(b[:]))b[:]=[x+1 for x in b]print (a,b)在讲到切片操作的时候,经常会听到复制这个词,把原List中的元素复制到一个新的切片List中。但是实际并不是这样,切片操作产生新的list,但是只是映射了原列表中的list,切片list中的数据改变会使原list中相同位置的数据发生改变a=[1,2,3]b=aprint(id(a),id(b),id(b[:]))b[1:2]=[x+1 for x原创 2020-12-16 08:51:35 · 242 阅读 · 0 评论 -
【python】lambda函数的初体验
有一组数据,1,3,7,13, …编写函数求该数列第n项元素(第n项=第n-1项+2(n-1) ),主程序中调用该函数,求其前20项之和。这个问题很基础吧def fn(n): if n >1: return fn(n-1) + 2*(n-1) else: return nsum = 0for n in range(1,21): sum += fn(n)print(sum)这样做显然比较符合题意之后我想用lambda函数进行优化,因原创 2020-06-15 12:45:40 · 150 阅读 · 0 评论 -
python小知识点
232乘方运算从后向前运算,先算32再算290.1 + 0.2 == 0.3False(因为0.1+0.2会丢失精度,所以别用浮点数运算判断数值)type(True + False + False)<class ‘int’>type(True)<class ‘bool’>运算时自动进行类型转换,True会转换成1,False转换成0...原创 2020-05-21 14:37:48 · 136 阅读 · 0 评论 -
【python】重定义关键词
format = “%.5f”format % 142.444444两行语句的结果是什么呢'142.44444'format = “%.5f %.5f”format % tuple[19.155675,5181.1561894]两行语句的结果是什么呢'19.15567 5181.15619'这是我从numpy函数中得到的启发原创 2020-05-12 12:12:31 · 335 阅读 · 0 评论 -
【python】wordcloud库与pyinstaller库的激烈碰撞
from wordcloud import WordCloudimport numpy,sys,datetime,timeimport PIL.Image as Imagedata=[]def onlyInt(content): data = input(content) try: inputData = eval(data) if type(inputData) == int: return inputData exc原创 2020-05-11 16:39:38 · 316 阅读 · 0 评论 -
关于python shuffle函数随机性的测试
牌堆=[i for i in range(160)]弃牌堆=[]for i in range(len(牌堆)): 弃牌堆.append(牌堆[i])import timeimport numpy as npdef 洗牌(弃牌堆): global 牌堆 import random #random.seed(time.time()) random.sh...原创 2020-05-04 12:47:33 · 388 阅读 · 0 评论