首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python加圣诞帽

01 前段时间好多人@官方微信许愿说要给自己的头像加圣诞帽,总觉得不太可靠,不晓得最后是PS的还是在微信小程序里搜索圣诞头像给自己戴的,嘿嘿~ 之前在GitHub上看到有人用python给自己的头像添加圣诞帽...将方便之后dlib的安装)。...如下图所示: Step2: 打开anaconda3,即点击如下图所示的图标: 打开后点击如下图所示内容: 出现下图所示的终端: 在终端中依次输入pip install opencv_python...环境配置 04 在上述终端中输入: python Add_Santa_Hats.py 圣诞帽图片名 头像图片名 即可。...运行代码 05 (1)若想了解具体原理可参见源代码,我已经对源代码进行了详细的注释; (2)若对处理结果不满意,可修改源代码中部分参数与公式,可修改部分我也在源代码中做了标记; (3)因为python3.5

1.5K100
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    python(leetcode)-66加

    给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。...看到题目觉得非常简单 只需要找到list的最后一个下标位置使其加一 即可。...需要考虑进位的情况 重新思考: 笔者想到的是先将数组数字转为十进制数字,然后加一,接着按位取模得到每一位的值。...思路:对每个值遍历判断,如果为9则变为0,并且继续遍历,如果为0到8则加1操作,并且break退出判断 上代码(用时44ms)击败98% 1 class Solution: 2 def plusOne...(digits[-i]==9): #如果为9则变为0 10 digits[-i]=0 11 else: #如果加1

    67030

    Python3中的“加和”函数

    技术背景 其实如果没有专门去研究python的一些内置函数的话,我们都没办法发现一些很神奇的功能,即使是我们最熟悉的python中的sum函数。不知道还有多少人,以为这只是一个只能用来做求和的函数?...,我们可以使用python内置的sum函数对该问题进行求解,这样在形式上就简便了很多: In [31]: sum(my_list,[]) Out[31]: [1, 2, 3, 4, 5, 6] 非常简单...当然,这个方法对于二维的list是可以正常使用的,可对于更加高维的嵌套异形list,使用sum函数,是得不到我们想要的效果的: In [35]: my_list = [[1],[2,3],[4,5,[6...总结概要 如果我们遇到[[1],[2,3],[4,5,6]]这样的一个python列表,想把他展平为一个一维的列表,这个时候你会使用什么样的方法呢?for循环?while循环?...其实python的内置函数sum中简单的支持了一下这样的功能,使得我们可以更加简便的把一个高维且长度不固定的列表展平为一个规则的一维列表。

    80320

    python 装饰器(二): 加参数

    接上篇python 闭包&装饰器(一) 一、功能函数加参数:实现一个可以接收任意数据的加法器 源代码如下: def show_time(f): def inner(*x, **y): #...for i in a: sums += i print(sums) time.sleep(1) add(1, 2, 3, 4, 5) # 15 二、装饰器函数加参数...:根据需求打印日志 源代码如下: def logger(flag=''): # flag 默认为空,这一层函数的作用是应用标志位 def show_time(f): def...time.sleep(3) # 停留3秒 bar() 注意:@logger('true') 的执行机制是:先执行 logger('true') 函数,然后返回 show_time 函数的内存地址..., 所以 @logger('true') 就相当于 @show_time,两者的区别就是 @logger('true') 要了一个变量flag, 之后的装饰器函数里面就可以使用falg这个标志位了

    44920

    python 的自增运算符

    python 的自增运算符 博客分类: python python 的这段code: Python代码 >>> i =1 >>> ++i >>> print i 1 很坑爹是吧,python...python 不使用 ++ 的哲学逻辑:编译解析上的简洁与语言本身的简洁,就不具体翻译了 Python代码 >>> b = 5 >>> a = 5 >>> id(a) 162334512 >>> id...(b) 162334512 >>> a is b True 可以看出, python 中,变量是以内容为基准而不是像 c 中以变量名为基准,所以只要你的数字内容是5,不管你起什么名字,这个变量的 ID...是相同的,同时也就说明了 python 中一个变量可以以多个名称访问 这样的设计逻辑决定了 python 中数字类型的值是不可变的,因为如果如上例,a 和 b 都是 5,当你改变了 a 时,b 也会跟着变...,这当然不是我们希望的 因此,正确的自增操作应该 a = a + 1 或者 a += 1,当此 a 自增后,通过 id() 观察可知,id 值变化了,即 a 已经是新值的名称

    8.3K10

    python函数注释,参数后面加冒号:,

    python的函数注释: def f(text:str,max_len:'int>0'=80) ->str: """这个是函数的帮助说明文档,help时会显示""" return True "...max_len:'int>0'=80 ->str 是函数返回值的注释。 这些注释信息都是函数的元信息,保存在f.__annotations__字典中、 需要注意,python对注释信息和f....返回值的形式是 -> int,annotation可被保存为函数的attributes。...以上属于静态注释,还有一种方法叫做动态注释 动态注释的原理,就是在函数中或者装饰器中动态的增加 删除 更改 注释内容 f....__annotations__ 是一个字典,可以使用字典的所有操作,这样就可以动态的更改注释了 大多数情况,我使用的是一下方法,进行注释说明 def foo(): """ This is function

    5K20

    Leetcode加一 (java、python3)

    加一 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。...python3: class Solution: def plusOne(self, digits: List[int]) -> List[int]: """ ​...range(len(digits)): num = num*10 + digits[i] return [int(i) for i in str(num+1)] ​ python3...可以把数组digits倒置,reversed(digits)然后逐项加1,最后如果为0,则直接对数组下一项赋值1(python3数组可动态扩展)。最后返回倒置数组。 再就是如上转换成string方式。...先把数组转成一个数字,然后加一,最后转换字符串逐个输出char字符并强制转换int型

    64020

    自写go加载器加壳免杀——过国内主流杀软

    将你的shellcode放入你的刚才定义的接收函数 3. 解密shellcode 4....将你保护代码放入你的定义函数之中 这里涉及go语言指针,简单的说一下指针,可能讲的会有些模糊。 指针是一个地址传递的,地址传递会发生内存地址的改变。 但是这个和值传递不同有所不同。...语言所在路径 cmd 使用 go build main.go 此时会编译生成一个main.exe (火绒会报毒 ) 05加 壳 免 杀 免杀还是采用加壳,upx可以使用但需要抹除特征码(对汇编不好的师傅不太友好...这里还是采用 safe的壳: 用法很简单: 将你的exe 拖入之后就可以了 (这里选择默认加壳模式就行了,当然如果懂汇编的师傅可以尝试一下其它的选项) 免杀效果:可过火绒和360。...2.查看生成的木马: cat rev.hex 3.创建监听 4.加载你的shellcode 找到你加壳后的exe,在 cmd中运行: main_se.exe + rev.hex的文件内容 此时木马上线成功

    4.7K40

    python 变量锁_python字符串前面加b

    2、全局解释器锁的好处 1、避免了大量的加锁解锁的好处 2、使数据更加安全,解决多线程间的数据完整性和状态同步 3、全局解释器的缺点 多核处理器退化成单核处理器,只能并发不能并行。...同一时刻的某个进程下的某个线程只能被一个cpu所处理,所以在GIL锁下的线程只能被并发,不能被并行。...只需要在对公共数据的操作前后加上上锁和释放锁的操作即可。...2、同步锁的作用:为了保证解释器级别下的自己编写的程序唯一使用共享资源产生了同步锁。 三、递归锁和死锁 1、什么是死锁?...在Python中为了支持同一个线程中多次请求同一资源,Python提供了可重入锁。

    78110
    领券