前言今天,一起用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
点击上方“何俊林”,马上关注,每天早上8:50准时推送真爱,请置顶或星标昨天的朋友圈都在丧心病狂的秀恩爱,秀520红包!于是就有人出来普法教育。。。可是还有更多老铁连发红包的机会都没有。。。为什么这么多如此优秀的同学都还是单身呢?你有分析过自己单身的原因吗?一、需求背景今天逛微博的时候发现一个有趣的话题#90后单身原因TOP3#七夕之际,一份针对全国90后青年婚恋观进行抽样调查公布了结果。结果显示,一线城市单身占比持续领先。90后单身原因TOP3:圈子小、
系统 2019-09-27 17:48:50 2388
go语言为了更加简洁优雅,没有类似java的try...catch...这种写法,因为try...catch在某些情况下会嵌套使用,造成代码运行后不知道哪里就跑到了异常处理的代码里。但是也有相应的异常处理机制。需要记住的关键词有个,error,defer,panic,recover。1errorerror类似java中的Exception类型,不同的是Exception必须搭配throw和catch使用。Go语言中的error类型实际上是抽象了Error(
系统 2019-09-27 17:46:09 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
用户输入1、使用input来等待用户输入。如username=input('username:')password=input('password:')print(username,password)2、格式化输出第一种方法:字符串拼接+(不建议使用,太耗内存)name=input("name:")age=input("age:")skill=input("skill:")salary=input("salary:")info='''---infoof''
系统 2019-09-27 17:37:52 2388