Python
zshzsh464610351
这个作者很懒,什么都没留下…
展开
-
pyQt5+vs2019的配置
折腾了两个晚上,终于把VS2019 + pyQt5 给配置成功了,其中一篇文章给我的帮助很大,附在我文章的结尾,作为感谢; 配置的过程中,主要要注意三个方面: 1.为了较为完整地安装python的各种包,建议在装完python3.X的软件包之后,直接安装anconda3(为了简单起见,建议安装时,将python相关的都勾选上,尤其是选择了python模块后,安装页面右边的一些非默认勾选组件,都...原创 2020-03-18 15:25:53 · 2714 阅读 · 0 评论 -
Python 尾递归
解决递归调用栈溢出的方法是通过尾递归优化,事实上尾递归和循环的效果是一样的,所以,把循环看成是一种特殊的尾递归函数也是可以的。 尾递归是指,在函数返回的时候,调用自身本身,并且,return语句不能包含表达式。这样,编译器或者解释器就可以把尾递归做优化,使递归本身无论调用多少次,都只占用一个栈帧,不会出现栈溢出的情况。 上面的fact(n)函数由于return n * fact(n - 1)引...转载 2020-01-08 15:38:59 · 146 阅读 · 0 评论 -
Python的可变参数、关键字参数和参数组合
可变参数 在Python函数中,还可以定义可变参数。顾名思义,可变参数就是传入的参数个数是可变的,可以是1个、2个到任意个,还可以是0个。 我们以数学题为例子,给定一组数字a,b,c……,请计算a2+ b2+ c2+ ……。 要定义出这个函数,我们必须确定输入的参数。由于参数个数不确定,我们首先想到可以把a,b,c……作为一个list或tuple传进来,这样,函数可以定义如下: d...原创 2020-01-08 14:59:57 · 355 阅读 · 0 评论 -
Python 函数里面的不变对象
def add_end(L=[]): L.append('END') return L 当你正常调用时,结果似乎不错: >>> add_end([1, 2, 3]) [1, 2, 3, 'END'] >>> add_end(['x', 'y', 'z']) ['x', 'y', 'z', 'END'] 当你使用默认参数调用时,一开始...原创 2020-01-08 14:27:41 · 194 阅读 · 0 评论 -
Python 里面的 list ,dic, set ,tuple
在python 里面,str是不变对象,而list是可变对象。 list占内存少,但是随着成员个数的增加,增删改查的速度都会变慢,而dic刚好,占用内存大一些,用空间换时间,增删改查不会随着成员的个数增加而有太大影响。 tuple 就是list的稳定版,初始化之后不能改变成员,用(1,)来定义,而list用[ ]来定义,set初始化要借助于list,同时支持 交集和并集的数学操作。 >...原创 2020-01-08 11:33:36 · 246 阅读 · 0 评论