前言今天,一起用Python来理一理红楼梦里的那些关系不要问我为啥是红楼梦,而不是水浒三国或西游,因为我也鉴定的认为,红楼才是无可争议的中国古典小说只巅峰,且不接受反驳!而红楼梦也是我多次反复品读的为数不多的小说,对它的感情也是最深的。好了,不酸了,开干。数据准备红楼梦TXT文件一份金陵十二钗+贾宝玉人物名称列表人物列表内容如下:宝玉nr黛玉nr宝钗nr湘云nr凤姐nr李纨nr元春nr迎春nr探春nr惜春nr妙玉nr巧姐nr秦氏nr这份列表,同时也是为了做
系统 2019-09-27 17:56:35 2388
python的多进程性能要明显优于多线程,因为cpython的GIL对性能做了约束。Python是运行在解释器中的语言,查找资料知道,python中有一个全局锁(GIL),在使用多进程(Thread)的情况下,不能发挥多核的优势。而使用多进程(Multiprocess),则可以发挥多核的优势真正地提高效率。对比实验资料显示,如果多线程的进程是CPU密集型的,那多线程并不能有多少效率上的提升,相反还可能会因为线程的频繁切换,导致效率下降,推荐使用多进程;如果
系统 2019-09-27 17:56:12 2388
如下所示:importmatplotlib.pyplotaspltimportnumpyasnpimportmathdefgaussian(sigma,x,u):y=np.exp(-(x-u)**2/(2*sigma**2))/(sigma*math.sqrt(2*math.pi))returny#x=np.linspace(220,230,10000)x=np.linspace(-800,800,10000)plt.title('PDFinHorizon
系统 2019-09-27 17:55:55 2388
蒙特卡洛算法思想蒙特卡洛(MonteCarlo)法是一类随机算法的统称,提出者是大名鼎鼎的数学家冯・诺伊曼,他在20世纪40年代中期用驰名世界的赌城―摩纳哥的蒙特卡洛来命名这种方法。通俗的解释一下蒙特卡洛算法的思想。假如篮子里有1000个苹果,让你每次闭着眼睛拿1个,挑出最大的。于是你闭着眼睛随机拿了一个,然后再随机拿一个与第一个比,留下大的,再随机拿一个,与前次留下的比较,又可以留下大的……你每拿一次,留下的苹果至少是当前最大的,循环往复这样,拿的次数越
系统 2019-09-27 17:53:56 2388
就向上篇博文中提到的,每种异常都有不同的名称,在实际开发中,不可能把每种异常都涉及到,这里就要用到今天提到的这点:万能异常。万能异常:万能异常:Exception,可以捕获任意异常。什么时候使用万能异常呢?1、如果无论出现什么异常,我们统一丢弃,或者使用同一处理方式去处理这些异常,那么用Exception就足够了。try:代码块exceptException:异常解决办法2、如果对于不同的异常呦不同的处理方式,那就需要用到多分支。当然,还可以使用多分支+万
系统 2019-09-27 17:53:08 2388
原文链接:https://blog.csdn.net/lu13093323120/article/details/82195060对于系统资源如文件、数据库连接、socket而言,应用程序打开这些资源并执行完业务逻辑之后,必须做的一件事就是要关闭(断开)该资源。如何正确的关闭一个文件呢?1.普通版deftest0():f=open("1.txt","w")f.write("0000")f.close()2.进阶版deftest1():f=open("1.t
系统 2019-09-27 17:52:58 2388
目录官网前言安装配置展示官网autopep8·PyPI——https://pypi.org/project/autopep8/前言Python编程语言需要遵循PEP8规范,但是很多人在编写代码时往往记不住这个规范,代码写得比较丑。这怎么办呢?别担心,autopep8来帮你。autopep8可以自动格式化Python代码以符合PEP8规范。它使用pycodestyle实用程序来确定需要格式化代码的是哪些部分。autopep8能够修复pycodestyle可以
系统 2019-09-27 17:49:54 2388
10.基数排序10.1算法思想基数排序是对桶排序的扩展。第一类:最低位优先法,简称LSD法:先从最低位开始排序,再对次低位排序,直到对最高位排序后得到一个有序序列;第二类:最高位优先法,简称MSD法:先从最高位开始排序,再逐个对各分组按次高位进行子排序,循环直到最低位。(位没有数的话,补0)这里以LSD为例,由于待排序元素每一位上的数字的取值范围是0—9,因此每按照某一位,需要10个桶,这样每一位上相同的数字会分配到一个桶里。10.2算法过程假设有一未排序
系统 2019-09-27 17:49:44 2388
前言缓存属性(cached_property)是一个非常常用的功能,很多知名Python项目都自己实现过它。我举几个例子:bottle.cached_propertyBottle是我最早接触的Web框架,也是我第一次阅读的开源项目源码。最早知道cached_property就是通过这个项目,如果你是一个Web开发,我不建议你用这个框架,但是源码量少,值得一读~werkzeug.utils.cached_propertyWerkzeug是Flask的依赖,是
系统 2019-09-27 17:48:15 2388
一、线程常用属性1.threading.currentThread:返回当前线程变量2.threading.enumerate:返回一个包含正在运行的线程的list,正在运行的线程指的是线程启动后,结束前的状态3.threading.activeCount:返回正在运行的线程数量,效果跟len(threading.enumer)一样4.thr.setName:给线程设置名字5.thr.getName:得到线程的名字。举例:mport_threadasthr
系统 2019-09-27 17:45:57 2388