Python面向对象编程——领域模型领域建模。从领域模型开始,我们就开始了面向对象的分析和设计过程,可以说,领域模型是完成从需求分析到面向对象设计的一座桥梁。领域模型,顾名思义,就是需求所涉及的领域的一个建模,更通俗的讲法是业务模型。参考百度百科(http://baike.baidu.cn/view/757895.htm),领域模型定义如下:从这个定义我们可以看出,领域模型有两个主要的作用:1、发掘重要的业务领域模型。2、建立业务领域概念之间的关系。领域建
系统 2019-09-27 17:53:13 2190
场景CSDN:https://blog.csdn.net/badao_liumang_qizhi博客园:https://www.cnblogs.com/badaoliumangqizhi/哔哩哔哩视频教程:https://space.bilibili.com/164396311实现关注公众号:霸道的程序猿回复:Python语言书籍免费下载。
系统 2019-09-27 17:53:06 2190
之前在GitHub有趣分享:Thanos(灭霸命令)中分享了有趣的“灭霸命令”,本博文使用Python+PyQt5实现灭霸响指,实现过程较简单,上效果图~GUI实现代码如下:#-*-coding:utf-8-*-fromPyQt5importQtCore,QtGui,QtWidgetsclassUi_MainWindow(object):defsetupUi(self,MainWindow):MainWindow.setObjectName("MainWi
系统 2019-09-27 17:52:47 2190
一、首先二叉树的定义:classTreeNode:def__init__(self,x):self.val=xself.left=Noneself.right=None构建一棵二叉树:classNode(object):def__init__(self,val):self.val=valself.lchild=Noneself.rchild=NoneclassTree(object):def__init__(self):self.root=Noneself
系统 2019-09-27 17:52:24 2190
Python还有“敌人”吗?最近网络上一则帖子吸引了笔者,大意内容为:据说A是有2年多经验的Python工程师,面一个公司相关的岗位,由于人手紧缺,所以只问了一个框架,就按笔者提的35K办理了入职。(35K为A的砍价策略)关于这则帖子背后的动机或者真实性,我们不再去追究。不过这从侧面反映出了Python的火热,也说明了Python的壮大带给其他语言的焦虑和压力。所以,当我们聊Python时,我们究竟该聊些什么?这四个Python项目,让你瞬间读懂Pytho
系统 2019-09-27 17:51:05 2190
函数:startswith()作用:判断字符串是否以指定字符或子字符串开头一、函数说明语法:string.startswith(str,beg=0,end=len(string))或string[beg:end].startswith(str)参数说明:string:被检测的字符串str:指定的字符或者子字符串。(可以使用元组,会逐一匹配)beg:设置字符串检测的起始位置(可选)end:设置字符串检测的结束位置(可选)如果存在参数beg和end,则在指定范
系统 2019-09-27 17:50:52 2190
压缩数据创建gzip文件先看一个略麻烦的做法importStringIO,gzipcontent='Lifeisshort.Iusepython'zbuf=StringIO.StringIO()zfile=gzip.GzipFile(mode='wb',compresslevel=9,fileobj=zbuf)zfile.write(content)zfile.close()但其实有个快捷的封装,不用用到StringIO模块f=gzip.open('fil
系统 2019-09-27 17:50:34 2190
先给大家介绍下CentOS7下安装Python3.6的方法安装python3.6可能使用的依赖yuminstallopenssl-develbzip2-develexpat-develgdbm-develreadline-develsqlite-devel•到python官网找到下载路径,用wget下载wgethttps://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz•解压tgz包tar-zxvfPyt
系统 2019-09-27 17:50:23 2190
蒙特卡罗方法是一种统计模拟方法,由冯・诺依曼和乌拉姆提出,在大量的随机数下,根据概率估计结果,随机数据越多,获得的结果越精确。下面我们将用python实现蒙特卡罗方法。1.首先我们做一个简单的圆周率的近似计算,在这个过程中我们要用到随机数,因此需要先使用importnumpyasnp导入numpy库。2.代码实现:importnumpyasnptotal=8000000count=0foriinrange(total):x=np.random.rand()
系统 2019-09-27 17:50:01 2190
[TOC]一、守护线程无论是进程还是线程,都遵循:守护xx会等待主xx运行完毕后被销毁。需要强调的是:运行完毕并非终止运行。对主进程来说,运行完毕指的是主进程代码运行完毕对主线程来说,运行完毕指的是主线程所在的进程内所有非守护线程统统运行完毕,主线程才算运行完毕1.1详细解释主进程在其代码结束后就已经算运行完毕了(守护进程在此时就被回收),然后主进程会一直等非守护的子进程都运行完毕后回收子进程的资源(否则会产生僵尸进程),才会结束。主线程在其他非守护线程运
系统 2019-09-27 17:49:52 2190
本人最近在研究机器学习方面的知识,要运用unet来实现医学图像分割,本文是为了实现unet代码而做的前期准备工作,综合网上的经验与自身的实践最终选择了keras+tensorflow-gpu来跑unet代码,下面是我安装tensoflow-gpu的整个过程,记录下来方便以后查阅。目录1.安装anaconda2.创建虚拟环境并安装python3.63.安装tensorflow-gpu3.1安装前奏——CUDA和cuDNN3.1.1下载CUDA3.1.2cuD
系统 2019-09-27 17:49:52 2190
returndeff1(x):y=2**x#没有returndeff2(x):y=2**xreturny#含有returnprint(f1(2),f2(2))return语句退出函数,并返回一个表达式。不带参数值的return语句返回None2.可变参数通过*来定义可变参数默认会把可变参数传入一个元祖!deff(*x):print(x)returnxf(1)f('a','b')f(1,2,3,[44,33])print(type(f('a','b')))定
系统 2019-09-27 17:49:40 2190
一、进程之间的数据共享展望未来,基于消息传递的并发编程是大势所趋即便是使用线程,推荐做法也是将程序设计为大量独立的线程集合,通过消息队列交换数据。这样极大地减少了对使用锁定和其他同步手段的需求,还可以扩展到分布式系统中。但进程间应该尽量避免通信,即便需要通信,也应该选择进程安全的工具来避免加锁带来的问题。以后我们会尝试使用数据库来解决现在进程之间的数据共享问题。1.1Manager模块介绍虽然进程间数据独立,但可以通过Manager实现数据共享,事实上Ma
系统 2019-09-27 17:48:40 2190
先看下面这段代码:importosdefmain():foriinrange(0,2):os.fork()print'Hello'if__name__=='__main__':main()猜测一下,会输出几行Hello。答案是:HelloHelloHelloHelloHelloHello6行!为什么呢?首先,你要明白os.fork()创建的子进程会接着下一行代码继续执行,它有返回值,返回值可以为0表示子进程或者大于0表示父进程pid,os.getpid()
系统 2019-09-27 17:48:15 2190
上集回顾上一节学习了转义字符的用法,作为基础内容一定要记忆好,多看几遍。提问输入和打印结果没有问题,重点是input语句的使用,input后面跟着的字符串是用来提示用户输入而打印再屏幕上的,用户输入的内容存放在前面的变量中,然后可以对这个保存着用户输入的变量进行操作。主语print语句中end=‘’的用法,意思是不让用换行符跑到下一行,也就是直接再这一行输入内容。直接把提示内容放在input语句中也能实现同样的功能。巩固练习1、网上查input的功能查询得
系统 2019-09-27 17:47:20 2190